Найти - Пользователи
Полная версия: В чем плюс третьего питона?
Начало » Python для новичков » В чем плюс третьего питона?
1 2
Iskatel
Из минусов знаю - не все сторонние модули его поддерживают.
Из плюсов - хз. Только о том, что все строки в юникоде знаю. Но это посредственный плюс, один фиг “в реальность” выводить в какойнить конкретной кодировке.

ЗЫ. Из личных ощущений плиз. Не надо копипастить какой-нить “change list”
4kpt_III
Вот тут коротко от Светлова А.

Вот тут можно глянуть

Основными плюсами, как мне кажется, является юникод в стоке и asyncio. Ну и еще немного удобных плюшек.

P.S. Ну наиболее популярные библиотеки все же на него перекинули.
JOHN_16
Ну и все таки надо понимать что 3 версия это будущее - развитие 2ой ветки прекращено,а поддержка (security bugfix) вроде в 20 году окончится.

Iskatel
это посредственный плюс,
Это очень правильная, глубоко базисная концепция ввода вывода между интерпретатором питона и остальным миром. Заботящаяся о единообразии внутреннего представления всех текстовых строк и символов. Python2 этим страдал, поэтому грамотным специалистам приходилось самостоятельно реализовывать эту концепцию, дабы избавить себя от хаотичных ошибок Unicode Encdoe/Decode Error.
py.user.next
https://wiki.python.org/moin/Python2orPython3
doza_and
Из разницы - трешка в среднем медленнее. Правда 3.4 я еще не сравнивал. Из впечатлений. Многие конструкции в трешке получаются более громоздкими, поскольку возвращаются итераторы а не списки. Но по мелочевке много разных полезностей добавлено. Опять из впечатлений. В двушке вообще никогда ни я ни мои коллеги не испытывали никаких проблем с юникодом. И меня удивляет как вообще можно добиться возникновения ошибок в encode/decode.
JOHN_16
doza_and
А вы не на винде сидите?
PooH
doza_and
Многие конструкции в трешке получаются более громоздкими, поскольку возвращаются итераторы а не списки.
А в чем работа с итератором более громоздка, можно пример?
doza_and
PooH
А в чем работа с итератором более громоздка, можно пример?
>>> print(range(5))
range(0,5)
тавтология....
>>> print(range(5))
[0,1,2,3,4] # обычно так надо
Это часто встречается при отладке, генерации простейших текстов. Но по большей части используем 2.7 не буду говорить что я спец по трешке.

Кстати вспомнил еще одну фичу которую приходилось использовать. Трешка допускает имена переменных юникодные в том числе и русские. Это бывает полезно при генерации документов при помощи mako. Позволяет более однозначно в некоторых ситуациях ключи писать.
Template("aaa bbb ${фамилия} ${имя} ${должность}").render(фамилия="Иванов")

Исторически сложилось что идентификаторы сигналов на промышленных объектах выглядят так
“1ЦXGF22Ф8”. А хочется использовать их как идентификаторы в программе :(

JOHN_16
А вы не на винде сидите?
70% винда 15% ubuntu 5% redhat 10% что-то другое. Но проблем с юникодом вроде нигде нет. Хотя может я оптимист.
На винде у некоторых студентов pip не заводится если имя пользователя русское. Ну там пару строк в pip поправить. Разочек была проблема что сторонняя программа в реестре mime types в странной кодировке для себя зарегистрировала. Но это все исправляется за 5 минут. По сравнению с остальной работой это очень небольшие проблемы.
slav0nic
последние полгода-год всё стараюсь писать на py3, ради поиграться и новых плюшек В)
благо всё что надо уже портировано
py.user.next
doza_and
Многие конструкции в трешке получаются более громоздкими, поскольку возвращаются итераторы а не списки.
Вообще-то, итераторы память не расходуют.

doza_and
Это часто встречается при отладке, генерации простейших текстов.
Если взять в процентном соотношении, то случаев, где списки не нужны, больше, так как range() используется для задания последовательности от одной точки до другой.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB