Какие функции Python 3.0 изменят Ваше повседневное кодирование? [закрытый]

17
задан casperOne 5 April 2012 в 13:38
поделиться

12 ответов

Существует несколько вещей, которыми я вполне интересуюсь:

16
ответ дан 30 November 2019 в 10:43
поделиться

Вполне откровенно говоря, ни один из него. В то время как я буду, вероятно, использовать часть нового синтаксиса, я главным образом использую Python для быстрых и простых сценариев и регулярных выражений.

я думаю, что новые возможности сделают много небольших вещей немного легче для большого количества людей и нескольких больших вещей легкий для нескольких человек. Однако я скептически отношусь к любым заявлениям, что много людей закончит тем, что нашло крупный рост производительности.

Короче говоря, я думаю, что эти изменения сделают вещи немного лучше в целом, но не ожидают чудес.

6
ответ дан 30 November 2019 в 10:43
поделиться

Вот хорошая статья, которая объясняет новые возможности и/или различия относительно Python 2.x стихи python 3.

http://www.b-list.org/weblog/2008/dec/05/python-3000/

3
ответ дан 30 November 2019 в 10:43
поделиться

Я надеюсь, что исключение, объединяющее в цепочку , завоевывает популярность. Потеря отслеживаний стека исключительной ситуации из-за антишаблона, представленного ниже, была моим главным объектом неприязни в течение долгого времени:

try:
   doSomething( someObject)
except:
   someCleanup()

   # Thanks for passing the error-causing object,
   # but the original stack trace is lost :-(

   raise MyError("Bad, bad object!", someObject)

я знаю, я знаю, добавляя некоторую информацию о контексте к исходному исключению и , сохранение исходного отслеживания стека было возможно, но это потребовало действительно ужасного взлома. Теперь Вы можете (и должен! ) просто:

raise MyError("Bad, bad object!", someObject) from original_exception

и легко получают оба из вышеупомянутого. Так, как часть моей святой миссии против потерянных отслеживаний стека:

Люди, не забывайте от пункт при переповышении исключений! Спасибо.

7
ответ дан 30 November 2019 в 10:43
поделиться

Не так функция, но я думаю, что очистка библиотеки очень поможет, особенно новым программистам Python. Больше чем в одном случае хотели, чтобы я сделал что-то в Python только для нахождения двух включенных библиотек, которые предлагают ту функциональность без очевидной причины, почему я должен, выбрал один по другому.

4
ответ дан 30 November 2019 в 10:43
поделиться

Несмотря на то, что они сделали для достижения наименьшего хода миграции с интерпретируемыми языками, я нахожу целый выпуск python3 как десять лет болезненного пути миграции. Поэтому я не нахожу это особенно притягиванием.

улучшения, которые они сделали, являются всей пользой и важный. Два различных типов для строк были реальным источником раздражений везде, поэтому хорошо, что они избавились от объекта unicode и представили объект байтов в стороне теперь unicode ул.

сверхбольшое число по сравнению с цифрой - изменение было от удобства, и я думаю, что также был хороший выбор. В полном они убрали язык от вредных компонентов, которые они накопили в течение прошлых десяти лет.

Второй с конца вещью, которую они сделали, была на 10% более медленная реализация, как будто скорость уже не будет проблемой Python.

я полагаю, что выпуск python3 снижает репутацию Python, а не улучшает его. Прямо сейчас они вернулись в запуске к своему языку, когда он сводится к поддержке библиотеки.

3
ответ дан 30 November 2019 в 10:43
поделиться

Не необходимость сделать столько же..

  • Не необходимость волноваться об использовании unicode() или u"".

  • Не необходимость искать, хотя документы urllib urllib2 и httplib для нахождения, где это функционирует, я должен, чтобы закодировать файл и загрузить его через запрос POST

  • Не необходимость волноваться о том, поймает ли except TypeError, something: TypeError и something, или TypeError в 'что-то..

И с другой стороны, имея необходимость посмотреть на документы снова! Я знаю Python достаточно хорошо теперь, я могу сделать большую часть материала, не обращаясь к pydoc, но каждый раз, когда я делаю, я обнаруживаю некоторый другой полезный модуль или функцию.

3
ответ дан 30 November 2019 в 10:43
поделиться

Оператор печати. <sniff> я начинаю уже пропускать его.

На самом деле, перед ровным движением к Python 2.6, мы производим чистку print в пользу logging.debug. Это должно только выйти из привычки к использованию print небрежно для отладки, поддержки и разработки.

, Что остается, некоторые программы, которые на самом деле производят материал на stdout. Для тех мы можем представить 2.6/3.0 совместимую функцию "печати" в одной из наших библиотек.

2
ответ дан 30 November 2019 в 10:43
поделиться

Примерно все они, поскольку я беру релиз Python 3 как мотивация для изучения языка.

1
ответ дан 30 November 2019 в 10:43
поделиться

Понимания словаря являются не обязательно важнейшими, но они очень хороши.

, В то время как {k: v for k, v in list} дольше, чем dict(list), это более гибко и self-explanitory.

2
ответ дан 30 November 2019 в 10:43
поделиться

Unicode (utf-8) действительно важен для людей, живущих в неанглоязычных странах.

мне не нравилось указывать кодирование в начале файла, потому что я всегда забываю. Обычно мой текст совместим с ASCII, потому что я использую UTF-8, таким образом, он работает без спецификации кодирования. Но Если я написал свое имя (с диакритическим знаком) или в‚ ¬ знак, оно повреждается... Я закончил тем, что писал unicode символы с их \uxxxx представлением, но это довольно загадочно!

1
ответ дан 30 November 2019 в 10:43
поделиться

Одной из самых недооцениваемых функций Python 3 является введение Абстрактных базовых классов. Это - что-то, что не коренным образом изменит Python, программирующий немедленно, но представляет интересный сдвиг от свободной утки, вводящей подход в направление лучше определенных интерфейсов.

[еще 112] информация может быть найдена в PEP 3119.

2
ответ дан 30 November 2019 в 10:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: