Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 29, 2008 12:19:08

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Python 2.6 и 3.0

А зачем могут понадобиться абстрактные классы в языке с динамической типизацией? Для интерфейсов лично мне больше нравится вариант с PyProtocols



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

Офлайн

#2 Июнь 29, 2008 12:32:44

BION
От:
Зарегистрирован: 2007-08-26
Сообщения: 62
Репутация: +  0  -
Профиль   Отправить e-mail  

Python 2.6 и 3.0

Господа, да ладно вам, всё это мелочи, привыкнем, потом понравится.

з.ы. Хотя одно меня расстроило - несовместимость 2.х с 3.0 :(



Офлайн

#3 Июнь 29, 2008 12:41:32

bw
От:
Зарегистрирован: 2007-09-26
Сообщения: 938
Репутация: +  20  -
Профиль   Адрес электронной почты  

Python 2.6 и 3.0

bialix
range(-1, 10) спасет отца русской демократии?
+ range(10)

..bw



Офлайн

#4 Июнь 29, 2008 13:44:15

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

Python 2.6 и 3.0

bw
+ range(10)
Тогда уж, если учитывать новые веяния:
[None] + list( range( 10 ) )
Что реально неудобнее чуть-чуть.



Офлайн

#5 Июнь 29, 2008 16:10:12

cybergrind
От:
Зарегистрирован: 2008-01-21
Сообщения: 201
Репутация: +  0  -
Профиль   Отправить e-mail  

Python 2.6 и 3.0

хез, мне например написание print() VS print нравиться больше =) и return тоже бы похерил аналогичным образом.
а если учесть любовь к коротки и лаконичным вещам - то можно неудобоваримые конструкции выносить в методы =)
а уж @property так вообще понравилось =) и абстрактные классы - тоже ничего. вообщем, имхо, язык становится более логичным и менее противоречивым. будем надеятся что и С-код будет на высоте =)
но, увы, когда еще придет то время когда будем пользоваться 3000-ным - неизвестно =)



Офлайн

#6 Июнь 29, 2008 16:32:24

Portnov
От:
Зарегистрирован: 2008-06-29
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Python 2.6 и 3.0

@property кстати работало уже давно (насколько я понимаю - с того момента, как вобще property появились). Вот @x.setter - это нововведение, правда не в языке, а в стандартной библиотеке (что, впрочем, почти одно и то же).



Офлайн

#7 Июнь 29, 2008 21:44:47

bialix
От:
Зарегистрирован: 2006-07-13
Сообщения: 774
Репутация: +  1  -
Профиль   Отправить e-mail  

Python 2.6 и 3.0

bw
bialix
range(-1, 10) спасет отца русской демократии?
+ range(10)
О! Месье знает толк в извращениях.



Офлайн

#8 Июнь 30, 2008 04:59:51

bw
От:
Зарегистрирован: 2007-09-26
Сообщения: 938
Репутация: +  20  -
Профиль   Адрес электронной почты  

Python 2.6 и 3.0

Daevaorn
+ list( range( 10 ) )
Это конечно понятно. Мы имеем всего лишь еще один момент несовместимости с предыдущими версиями. Причем ошибка произойдет только во время выполнения и если тесты не покрывают весь код, то мы будем иметь падающий сервер или клиентские приложения, сами понимаете это не есть хорошо, особенно для коммерческих разработок.

..bw



Офлайн

#9 Июнь 30, 2008 09:52:00

ice
От:
Зарегистрирован: 2008-01-12
Сообщения: 156
Репутация: +  0  -
Профиль   Отправить e-mail  

Python 2.6 и 3.0

3.0 пользуюсь уже месяца 4.

идея с print нравится. Имхо, очень правильно, что вынесли ее как функцию.

+ range(10)
Просто интересно, где такое может пригодиться?



Офлайн

#10 Июнь 30, 2008 11:37:37

bw
От:
Зарегистрирован: 2007-09-26
Сообщения: 938
Репутация: +  20  -
Профиль   Адрес электронной почты  

Python 2.6 и 3.0

Да где угодно, не в этом же дело. Тебя интересует конкретно эта строка кода :-) ?
Такой вариант тоже работать не будет “range(-100, -95) + range(95, 100)”. Вы ниразу на Python не связывали списки, почему код вида " + " вас так пугает и вызывает столько вопросов?

p.s. Я еще раз повторяю, для тех кто в танке. Меня больше прочего (к print'у можно привыкнуть) смущает отсутствие обратной совместимости. Я, например, каждый день использую Twisted (и вариантов по его замене нет), а это больше 200 тыс. строк кода. Его перенос на Py3 у авторов займет довольно много времени, к тому же, безусловно, в код будет внесено большое коичество новых ошибок.

p.p.s. С Zope/Plone/Django/пр. возникнут такие же проблемы.

p.p.p.s. Любой утиль, который будет конвертировать (если такой будет вообще) код Py2 в Py3 многие моменты, как с тем же range, не всегда сможет разрулить правильно (замена range() на list(range()) конечно поможет, но те кто использовали range именно для скорости - потеряют её).

..bw



Отредактировано (Июнь 30, 2008 11:38:28)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version