Найти - Пользователи
Полная версия: Python 3.0 - релиз
Начало » Python для экспертов » Python 3.0 - релиз
1 2 3
Александр Кошелев
Так там просто всё. Это чтобы защититься от такого случая;
>>> def foo(bar, *args, **kwargs):
pass
>>> foo('a', bar='b')
TypeError: foo() got multiple values for keyword argument 'bar'
Если сделать bar keyword-only, то такого эффекта можно избежать:
>>> def foo(*, bar):
pass
Кстати звездочка без имени тоже фича того же пепа. Чтобы можно было в любых ситуациях задавать ko аргументы.
The gray Cardinal
Daevaorn
Спасибо, ясно.
Cleric
Библиотеку overloading так и на добавили. Хотел бы узнать есть ли что то похожее по функционалу и стабильное для 2.х? Как я понимаю PEAK.Rules это альфа. Другого ничего не видел.
Андрей Светлов
И не приймут - слишком уж тесно PJE завязался на decorator_tools. Если оно вам не мешает (мне - нет) - то overloading зовется peak.simplegeneric

Но это неинтересно и перекрывается peak.rules. На альфу советую не обращать внимания - работает отлично. Когда-то начал использовать sqlalchemy в alpha версии - и до сих пор не пожалел.
The gray Cardinal
Кратко о новшествах Python 3.0 по-русски:
http://forum.script-coding.info/viewtopic.php?id=2555
The gray Cardinal
А не может случиться так, что большое количество модулей никогда не будет перенесено на Python 3.0? По причине лени/нежелания/отсутствия времени у разработчиков. Ведь это может стать большой засадой :/.
bw
Надеюсь на это.

..bw
Андрей Светлов
Будет-будет. Не надейтесь
Cleric
*** Python 3.0 (r30:67507, Dec  3 2008, 20:14:27) [MSC v.1500 32 bit (Intel)] on win32. ***
>>> filter
<class 'filter'>
А вот reduce действительно убрали, в модуль functools. Но об этом уже писали.
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