PooH
Июнь 29, 2008 12:19:08
А зачем могут понадобиться абстрактные классы в языке с динамической типизацией? Для интерфейсов лично мне больше нравится вариант с PyProtocols
BION
Июнь 29, 2008 12:32:44
Господа, да ладно вам, всё это мелочи, привыкнем, потом понравится.
з.ы. Хотя одно меня расстроило - несовместимость 2.х с 3.0 :(
bw
Июнь 29, 2008 12:41:32
bialix
range(-1, 10) спасет отца русской демократии?
+ range(10)
..bw
Александр Кошелев
Июнь 29, 2008 13:44:15
bw
+ range(10)
Тогда уж, если учитывать новые веяния:
[None] + list( range( 10 ) )
Что реально неудобнее чуть-чуть.
cybergrind
Июнь 29, 2008 16:10:12
хез, мне например написание print() VS print нравиться больше =) и return тоже бы похерил аналогичным образом.
а если учесть любовь к коротки и лаконичным вещам - то можно неудобоваримые конструкции выносить в методы =)
а уж @property так вообще понравилось =) и абстрактные классы - тоже ничего. вообщем, имхо, язык становится более логичным и менее противоречивым. будем надеятся что и С-код будет на высоте =)
но, увы, когда еще придет то время когда будем пользоваться 3000-ным - неизвестно =)
Portnov
Июнь 29, 2008 16:32:24
@property кстати работало уже давно (насколько я понимаю - с того момента, как вобще property появились). Вот @x.setter - это нововведение, правда не в языке, а в стандартной библиотеке (что, впрочем, почти одно и то же).
bialix
Июнь 29, 2008 21:44:47
bw
bialix
range(-1, 10) спасет отца русской демократии?
+ range(10)
О! Месье знает толк в извращениях.
bw
Июнь 30, 2008 04:59:51
Daevaorn
+ list( range( 10 ) )
Это конечно понятно. Мы имеем всего лишь еще один момент несовместимости с предыдущими версиями. Причем ошибка произойдет только во время выполнения и если тесты не покрывают весь код, то мы будем иметь падающий сервер или клиентские приложения, сами понимаете это не есть хорошо, особенно для коммерческих разработок.
..bw
ice
Июнь 30, 2008 09:52:00
3.0 пользуюсь уже месяца 4.
идея с print нравится. Имхо, очень правильно, что вынесли ее как функцию.
+ range(10)
Просто интересно, где такое может пригодиться?
bw
Июнь 30, 2008 11:37:37
Да где угодно, не в этом же дело. Тебя интересует конкретно эта строка кода :-) ?
Такой вариант тоже работать не будет “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