LINUX.ORG.RU

Вышел Python 3.0 final

 ,


1

0

Третьего декабря вышла долгожданная версия Python 3.0 (a.k.a. Python 3000 или Py3k).

Новая версия языка не является обратно совместимой с Python 2.x, но сама концепция языка сохранилась. Удалено множество устаревших элементов языка. Переработана стандартная библиотека. Добавлена поддержка unicode в стандартный строковый тип str.

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



Проверено: JB ()
Последнее исправление: cetjs2 (всего исправлений: 1)

> Согласно Лоровской традиции дружно идем читать подробности.

Хорошая шутка!
По теме сказать ничего не имею, но РФВС-подобный топик предрекаю

dexpl ★★★★★
()

>Py3k

фикс. Py3uk

Ты, эта, чем спешить накласть новость, лучше бы вкусности написал, ибо непонятно нафига переписывать под новый язык. И таки да, регекспы там стали элементами языка как в руби?

wfrr ★★☆
()

В продолжение удалённой темы(да, не всегда получается угадать, что именно подтвердят): так какой питон сейчас считать стабильным из трёх имеющихся: 2.4, 2.5 или всё-таки 3.0? И как быть с уже написанным на 2.x кодом?
Пусть Капитан Очевидность ответит!

gaa ★★
()

> Добавлена поддержка unicode в стандартный строковый тип str.

Скорее "стандартный строковый тип str" стал юникодом.

Поддержка юникода в стандартном str, есть и в 2.5:

'foo'.decode('utf8')

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

> Ты, эта, чем спешить накласть новость, лучше бы вкусности написал, ибо непонятно нафига переписывать под новый язык. И таки да, регекспы там стали элементами языка как в руби?

В общем, новый питон питонистее старого питона и вы обязаны питонить на новом питоне, потому что так сказал Гвидо!

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

> так какой питон сейчас считать стабильным из трёх имеющихся: 2.4, 2.5 или всё-таки 3.0?

2.6 и 3.0, как это ни странно.

> И как быть с уже написанным на 2.x кодом?

Есть два варианта:

- вторую ветку будут поддерживать еще 3 года, так что переползать на 3.0 можно очень неторопливо;

- использовать 2to3 конвертор, напильник и такую-то матерь.

anonymous
()

Пихон 2.х - это, конечно, мощно!

Поправьте, что ли...

alex_the_v ★★★
()

> не является обратно совместимой с Pyhon 2.x

Фак.. Все равно пока на второй ветке останусь.. Стремно :)

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

Re^2: Вышел Python 3.0 final

>> так какой питон сейчас считать стабильным из трёх имеющихся: 2.4, 2.5 или всё-таки 3.0?
> 2.6 и 3.0, как это ни странно.


А у меня глаза разбегаются от такого обилия стабильных версий. А почему в моём дистрибутиве уже есть 2.4. и 2.5, а этих стабильных нет? И на какой предложите писать?

>> И как быть с уже написанным на 2.x кодом?


> - использовать 2to3 конвертор, напильник и такую-то матерь.


Вот она, преемственность!

gaa ★★
()
Ответ на: Re^2: Вышел Python 3.0 final от gaa

> в моём дистрибутиве уже есть 2.4. и 2.5, а этих стабильных нет? И на какой предложите писать?

Тебе? На Python 2.3, конечно :D

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

>> так какой питон сейчас считать стабильным из трёх имеющихся: 2.4, 2.5 или всё-таки 3.0?

> 2.6 и 3.0, как это ни странно.

Эх, вот же кривая система Gentoo... Python 2.6 там замаскирован, а 3.0 - отсутствует вообще :D

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

>неужели там теперь будет нормальная работа с юникодными строками?

Да

h8 ★★★
()

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

Принимаем новые ставки: успеет ли Python 4.0 зарелизиться до Perl 6 и Php 6?

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

Everything you thought you knew about binary data and Unicode has changed. Python 3.0 uses the concepts of text and (binary) data instead of Unicode strings and 8-bit strings. All text is Unicode; however encoded Unicode is represented as binary data.

:)

al_t
()

Теперь надо ждать пока биндинги попереписывают.

h8 ★★★
()
Ответ на: Re^2: Вышел Python 3.0 final от gaa

> А у меня глаза разбегаются от такого обилия стабильных версий. А почему в моём дистрибутиве уже есть 2.4. и 2.5, а этих стабильных нет? И на какой предложите писать?

Пишите на 2.5. Какая разница? В 2.6 из заметных отличий только несколько другой __import__, да модуль multiprocessing.

Кстати, от ядра 2.2, 2.4 и 2.6 глаза не разбегаются? Или от freebsd 6.2, 6.3, 7.0 и 7.1.

> Вот она, преемственность!

Кто вас заставляет переходить на 3.0?

Вообще 2to3 перенес всю стандартную библиотеку python'а. Но автоматическим средствам я как--то не того, не доверяю.

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

>Ты, эта, чем спешить накласть новость, лучше бы вкусности написал, ибо непонятно нафига переписывать под новый язык.

так недавно ж вроде новость была. со ссылкой на http://docs.python.org/dev/3.0/whatsnew/3.0.html

>И таки да, регекспы там стали элементами языка как в руби?

тебе так не хватает перлизмов вроде оператора =~ ? если ломает писать re.compile('[a-z]+') вместо /[a-z]+/, вспомни сколько экономится на отсутствии do..end )

а так, регекспы в рубях и питоне работают более менее одинаково, рубивский Regexp.new - алиас на Regexp.compile.

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

> Эх, вот же кривая система Gentoo... Python 2.6 там замаскирован, а 3.0 - отсутствует вообще :D

Python 2.6:

To unmask this package run the following commands in a terminal: (you may also need to unmask the package after turning off the hard mask)

mkdir -p /etc/portage

echo "=dev-lang/python-2.6-r5" >> /etc/portage/package.unmask

Please be careful when installing hard masked packages, they may break your system

Ну а для третьего ждем ebuild

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

>вспомни сколько экономится на отсутствии do..end )

Ага и посчтитать сколько зарплаты уходит на ремонт пробела.

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

>unicode_str = u"а чем это не нормальная работа с юникодными строками?"

насколько я видел в исходнике всяких джанго-приложений, чуть ли не в каждой модели создается метод __unicode__, где какое-либо поле ( вроде title или name) преобразуется вот в такую юникодную строку. это что, так и должно быть по-твоему?

volh ★★
()

а по скорости хоть процентов на 5 быстрее?

anonymous
()

Java заруливает ваш питон во всех отношениях.

Вот приведите мне хоть один пример, где питон использовать более удобно чем джаву?!

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

Написание высокохудожественного кода.

wfrr ★★☆
()

А почему лямбду не выкинули? Обещали ж!

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

> чуть ли не в каждой модели создается метод __unicode__, где какое-либо поле ( вроде title или name) преобразуется вот в такую юникодную строку.

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

anonymous
()

А еще Руби есть...

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

генту - поделка для тех красноглазых. Петон там нужен только для emerge.

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

кстати вот любовь к сотням _____ подряд тоже нечто фееричное

Voker57 ★★
()

> Python 3.0 (a.k.a. Python 3000 или Py3k)

Не a.k.a., а "она же"

Учите русский, потом и к английскому допустят

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

> Ага и посчтитать сколько зарплаты уходит на ремонт пробела

1. Скобки тебе бесплатно меняют, по гарантии?

2. Если ты не делаешь отступы в коде, то тебе можно только посочувствовать

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

>Вот приведите мне хоть один пример, где питон использовать более удобно чем джаву?!

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

Sun-ch
()

>Python 3.0 (a.k.a. Python 3000 или Py3k).

Пузик :D

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

> a.k.a. - as known as (так же известный как). Так что ваше высказывание здесь неуместно

1. "Столь же известный, как"? Я ж говорю, сначала русский, английский — потом

2. Новость на русском, не?

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

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

http://www.djangoproject.com/documentation/models/str/

Although it’s not a strict requirement, each model should have a _str__() or __unicode__() method to return a “human-readable” representation of the object. Do this not only for your own sanity when dealing with the interactive prompt, but also because objects’ representations are used throughout Django’s automatically-generated admin.

Разве это не означает, что в py3k __unicode__ не нужен? (заодно, htttp://www.mail-archive.com/python-3000@python.org/msg08613.html)

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

> Талмуд запрещает юзать вим

Если твой редактор не умеет менять Tab на четыре пробела... Снеси винду уже наконец

anonymous
()

>Python 3.0 (a.k.a. Python 3000 или Py3k

Пузик :D

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