LINUX.ORG.RU

Python 3.2

 


0

0

20 февраля вышел Python 3.2.

Так как действует «Мораторий на измение языка» (PEP-3003), то синтаксис языка остался прежним; было внесено всего несколько изменений во встроенные типы.

Усилия разработчиков были сконцентрированы на стандартной библиотеке и поддержке портирования кода на Python3.

Среди изменений стоит отметить:

  • множественные изменения в модуле unittest;
  • PEP 3147, поддержка PYC Repository Directories;
  • PEP 3149, поддержка контроля версий динамически-подключаемых библиотек;
  • PEP 3148, futures — новая библиотека для асинхронных вычислений (конкурентного программирования);
  • PEP 384, стабильное ABI для модулей расширений;
  • значительно переделан GIL (Global Interpreter Lock);
  • расширенный пакет email, который поддерживает байтовые сообщения;
  • значительно улучшен модуль ssl;
  • новый модуль sysconfig;
  • улучшения модуля shutil, среди которых стоит отметить поддержку архивов;
  • множество улучшений в configparser;
  • улучшен pdb (Python debugger);
  • множественные исправления, связанные с ошибками bytes/string;
  • множественные исправления для численных операций.

>>> Подробности

★★

Проверено: JB ()
Последнее исправление: Dendy (всего исправлений: 3)
Ответ на: комментарий от true_admin

>убогий end

Убогий или нет, но человеком более понятен, чем разглядывание пробелов и медитирование на «На том ли уровне закончились пробелы?».

anonymous
()
Ответ на: комментарий от Binary

> Только для русского языка один знак — 2 байта, а для латиницы — 1 байт.

А какое это имеет значение-то? Вы просто сортируете строку как массив байтов, вуаля - всё отсортировано по порядку кодпоинтов в Юникоде, с сохранением латинского и русского алфавитов, за исключением «ё».

Никаких «хардкодить частные случаи».

Чем это лучше KOI?

Строку в KOI нельзя отсортировать как массив байтов.

yk4ever
()
Ответ на: комментарий от yk4ever

> Понятия не имею. Во всех моих системах стоит только одна версия python 2.x. Ну ещё иногда бывает 3.x рядом для экспериментов.

А ему все божья роса ...
Вот из-за таких и бардак питоновый в системе.

Где? Какие? В ветке 2.x отличная обратная совместимость.


Не надо меня уговаривать.
Если выбрасывают модули из lib в минорных релизах, то уже нет совместимости «отличной».

Ссылку я приводил в этом треде, а каждому на понт доказывать известную всем неодинаковость минорных версий пистона - как-то пошло и утомительно.

elipse ★★★
()
Ответ на: комментарий от anonymous

> Убогий или нет, но человеком более понятен, чем разглядывание пробелов и медитирование на «На том ли уровне закончились пробелы?».

Типичная бредовая фантазия питонофобов.

Чё там медитировать. Если код выглядит правильно и парсер не кинул ошибок - значит код работает правильно.

Не нужно ендов, успокойтесь уже.

yk4ever
()
Ответ на: комментарий от sv75

> Убивать.

За кои-8 - надо убивать.

За упущенную «ё» - максимум погрозить пальчиком.

yk4ever
()
Ответ на: комментарий от yk4ever

> когда приходится работать на массе машин, совет «а вы настройте всё заранее» не особо канает.

Смени работу, или так и будешь всю жизнь эникейщиком бегать...

если вы код вставите в HTML или другое какое текстовое поле - табы, скорее всего, тупо проглотятся


Норкоманы, втавляющие код в «текстовое поле HTML» на марше.

1. Есть тэг <pre>
2. Все нормальные текстовые редакторы отрабатывают табы так, как надо.

если вы используете сторонний инструмент типа смотрелки диффов - с табами может случиться что угодно


Например? Всё, что видел я - они будут трактоваться как пробельные символы. Ужас, да. Надо звать милицию.

Короче, основная мысль: код должен выглядеть всегда и везде одинаково.


Что только питон животворящий не делает с самым обычным кодестайлом...

LamerOk ★★★★★
()
Ответ на: комментарий от yk4ever

Фиг знает, видимо я не настолько увлечён. Английские обычно валяются рядом или встроенне.

sv75 ★★★★★
()
Ответ на: комментарий от LamerOk

Наверное он полагает, что UTF-8 --- это 8 бит на символ? v_v

sv75 ★★★★★
()
Ответ на: комментарий от elipse

Ветка 2.x уже лет восемь стабильна как кирпич.


Дооо, а почему в системе надо несколько таких кирпичей ?


O RLY?

$ qlist -Iv dev-lang/python
dev-lang/python-2.7.1
dev-lang/python-3.1.3

srj ★★
()
Ответ на: комментарий от elipse

> Вот из-за таких и бардак питоновый в системе.

Где питоновый бардак? В бубунте одна версия стоит.

Не надо меня уговаривать.

Это вы меня «уговариваете» - втираете мне про питон какую-то херню, когда я на нём семь лет пишу уже.

Если выбрасывают модули из lib в минорных релизах

Ссылку я приводил в этом треде,

Где ссылка? Не нашёл. Постите заново.

yk4ever
()
Ответ на: комментарий от yk4ever

> Такие вещи как if (a=b), ++/--, опциональные фигурные скобки и отдельные .h-файлы попили кучу крови программистам за долгие годы.

«Такие вещи» могут «попить кровь» только имбецилам. Очевидно, что им следует не мучить себя, а заняться более подходящим для них родом деятельности.

Программистам же синтаксический сахар только в кайф. ))

LamerOk ★★★★★
()
Ответ на: комментарий от LamerOk

> Смени работу, или так и будешь всю жизнь эникейщиком бегать...

Я ни разу не работал эникейщиком, мосье ламерок.

1. Есть тэг <pre>

Конечно, есть. Он и сохранит отступы, сделанные через пробелы.

А табы снесёт к херам собачьим, конечно же.

yk4ever
()
Ответ на: комментарий от LamerOk

> Программистам же синтаксический сахар только в кайф. ))

Конечно в кайф. Если он нормальный - как в питоне, например.

А не тот ужас, который в сях.

yk4ever
()
Ответ на: комментарий от anonymous

> Просто оставлю это здесь http://s49.radikal.ru/i126/1102/57/c598489354a7.jpg

Чем принципиально ваш вшивый switch-case лучше if/elif? Карринг делается через замыкания. Кстати, смысл его я так и не постиг.

Компилятор разрешаю сделать хоть сейчас.

anonymous
()
Ответ на: комментарий от yk4ever



Где ссылка? Не нашёл. Постите заново.


я не ищейка, осваивайте поиск

Это вы меня «уговариваете» - втираете мне про питон какую-то херню, когда я на нём семь лет пишу уже.


не не
тут уже самый раз вам устроить пруфик и запустить что-то из Gnome 2.22
на пистоне под Gnome 2.30.
А языком всякий умеет махать и толкать лозунги .

elipse ★★★
()
Ответ на: комментарий от elipse

> я не ищейка, осваивайте поиск

Я поискал. Вы не постили ссылок про питон.

Если имеете в виду вот это:

http://www.linux.org.ru/news/opensource/5930065/page3#comment-5931343

то там никакой ссылки нет и откуда вы это взяли - мне не известно.

тут уже самый раз вам устроить пруфик и запустить что-то из Gnome 2.22

на пистоне под Gnome 2.30.

Чё, версии гнома не совместимы? Бида-бида. А при чём тут питон?

yk4ever
()
Ответ на: комментарий от yk4ever

> А табы снесёт к херам собачьим, конечно же.

Ты норкоман, штоле?!? Как _тэг_ может снести _символы_ внутри себя?!?
Завязывай с амфетаминами и переходи на оппиаты.

LamerOk ★★★★★
()
Ответ на: комментарий от yk4ever

Простите, а вы верую...

я атеист

по факту доказательств не привёл, но продолжает веровать.



Segmentation fault.

anonymous
()
Ответ на: комментарий от LamerOk

> Ты норкоман, штоле?!? Как _тэг_ может снести _символы_ внутри себя?!?

Легко. Когда его содержимое будет парситься скриптом на сервере. Или отображаться в браузере.

Короче, факт остаётся фактом - табы ненадёжны.

yk4ever
()
Ответ на: комментарий от anonymous

А при white-space: pre; всё сохраняется.

В лучшем случае, код будет табами отформатирован через 8 пробелов.

это
        конечно
                очень
                        удобно
правда
        только
                если
                        ты
                                маяковский
yk4ever
()
Ответ на: комментарий от anonymous

> Компилятор разрешаю сделать хоть сейчас.

Ы. Да он же сделан уже лет 20 назад.

tailgunner ★★★★★
()
Ответ на: комментарий от yk4ever

>Вы просто сортируете строку как массив байтов, вуаля - всё отсортировано по порядку кодпоинтов в Юникоде

У вас постоянно частные случаи.

Как можно сравнивать знаки с разной длинной в байтах?! Если в первой и второй строках на одинаковых позициях будет в одной кириллица, в другой — латиница, то херня это будет, а не сортировка.

Binary ★★★★★
()
Ответ на: комментарий от anonymous

> Чем принципиально ваш вшивый switch-case лучше if/elif?

Вообще, надо сказать, лучше. Правильнее его заменять не на if/elif, а на словарь функций, но питон не позволяет многострочных лямбд.

Поэтому, очевидный вариант - чудить с методами/рефлекшном/декораторами.

yk4ever
()
Ответ на: комментарий от yk4ever

В кошерном ООП switch заменяется виртуальными методами, ессно %)))

sv75 ★★★★★
()
Ответ на: комментарий от Binary

> Как можно сравнивать знаки с разной длинной в байтах?!

Легко. Путём сравнения только первого байта.

Если в первой и второй строках на одинаковых позициях будет в одной кириллица, в другой — латиница, то херня это будет, а не сортировка.

Почему же? Латиница пойдёт перед кириллицей, никаких проблем.

Дорогой мой, вы, кажется, вообще не в курсе, как устроен UTF-8. Пойдите штоля википедию почитайте.

А покуда поверьте мне на слово: строки в UTF-8 можно сортировать побайтово, это и будет юникодный лексикографический порядок.

yk4ever
()
Ответ на: комментарий от yk4ever

> Когда его содержимое будет парситься скриптом на сервере.

А еще он может путать «+» и "-"!

Проблемы скрипта на сервере.

Или отображаться в браузере.


Проблемы браузера.

А еще он может быть белым цветом на белом фоне. Или в скрытом диве. Тоже табы виноваты?

LamerOk ★★★★★
()
Ответ на: комментарий от yk4ever

> В лучшем случае, код будет табами отформатирован через 8 пробелов.


Что значит «в лучшем»? Не в «лучшем», а в «единственно правильном»!

xDD

LamerOk ★★★★★
()
Ответ на: комментарий от yk4ever

>Путём сравнения только первого байта.

Это уже не побайтовое сравнение, это уже условности для конкретной кодировки.

Дорогой мой, вы, кажется, вообще не в курсе, как устроен UTF-8. Пойдите штоля википедию почитайте.


Прекрасно в курсе, как и в курсе о его проблемах.

Binary ★★★★★
()
Ответ на: комментарий от yk4ever

> Чё, версии гнома не совместимы? Бида-бида. А при чём тут питон?

Ай ,шустряк какой
А в каждом гноме свой пистон сидит, а еще всякая web зараза на сервер просит разных пистонов.
Но , естественно, вам это все не ведомо и море удивления.

elipse ★★★
()
Ответ на: комментарий от elipse

> http://www.python.org/dev/peps/pep-0361/

Таак, и что мы видим? Релизноты к выпуску 2.6, мажорной версии. Выкинуты модули, относящиеся к давно мёртвым протоколам (Gopher) и платформам (SGI, Mac OS 9) и депрекейченные ещё в версии 2.3, шесть лет назад.

По-моему, это отличная поддержка совместимости.

Интересно, а в тикле, для сравнения, модули для суслика или силиконки были вообще?.. :]

yk4ever
()
Ответ на: комментарий от LamerOk

> А еще он может путать «+» и "-"! Проблемы скрипта на сервере.

Таких случаев мне не попадалось, нет.

Проблемы браузера.

Нет табов - нет проблемы.

yk4ever
()
Ответ на: комментарий от yk4ever

> Нет табов - нет проблемы.

Интересная логика.. А если я скажу, что в HTML все пробелы сливаются в один, каков будет контр-аргумент? ))

LamerOk ★★★★★
()
Ответ на: комментарий от Binary

> Это уже не побайтовое сравнение, это уже условности для конкретной кодировки.

[удивлённо] Самое что ни на есть побайтовое. Вы сравниваете строки побайтово, пока не найдёте разных байтов или байты не кончатся.

Так что побайтовое сравнение строк в UTF-8 будет, для английского и русского текста, работать практически как для cp1251 - с сохранением лексикографического порядка.

Прекрасно в курсе, как и в курсе о его проблемах.

Ну а зачем тогда чепуху несёте? :]

yk4ever
()
Ответ на: комментарий от yk4ever

> Выкинуты модули, относящиеся к давно мёртвым протоколам (Gopher) и платформам (SGI, Mac OS 9) и депрекейченные ещё в версии 2.3, шесть лет назад.

Мантры и заклинания не канают.
Нарушена обратная совместимость ? - да.
И следовательно, на стороннем софте уже нет гарантий работоспособности , тут секас по любому с проверками, выяснениями и т.п.

elipse ★★★
()
Ответ на: комментарий от LamerOk

> Интересная логика.. А если я скажу, что в HTML все пробелы сливаются в один, каков будет контр-аргумент? ))

Да никакого не будет. Тут не в теоретических построениях дело.

Если бы табы работали надёжнее пробелов, я бы давно на них перешёл. Но увы. Пробелы показали себя гораздо адекватнее.

yk4ever
()
Ответ на: комментарий от elipse

> Нарушена обратная совместимость ? - да.

В мажорной версии? После шести лет стабильности? По меркам компьютерных технологий это железобетонная надёжность :]

И следовательно, на стороннем софте уже нет гарантий работоспособности

Вы пользуетесь протоколом Gopher? работаете под Mac OS 9? под SGI? Ну так у вас полюбому секас.

yk4ever
()
Ответ на: комментарий от yk4ever

вот только на тру Perl не нападайте в этой ветке... Perl продуман не только в том как что-то написать вообще, - а еще и в том, чтобы написать быстро.

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

gzim9x
()
Ответ на: комментарий от yk4ever

>Вы сравниваете строки побайтово, пока не найдёте разных байтов или байты не кончатся.

Нашёл разные байты, что дальше? Если в одной из строк не-ASCII, нужна уже особая логика для сравнения следущих. Т.е. без адаптации всё равно правильно работать не будет.

Binary ★★★★★
()
Ответ на: комментарий от yk4ever

> Тут не в теоретических построениях дело.

Если бы табы работали надёжнее пробелов, я бы давно на них перешёл. Но увы. Пробелы показали себя гораздо адекватнее.


Гораздо адекватнее и менее теоретическими оказались фигурные скобочки... )))

LamerOk ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.