Блин, вляпался таки! Всеми лапками! Помните дети!
Эти значения - вычисляются и потом эти изменяемые значения продолжают передаваться в том же виде в последующих вызовах. Читаем The Python Language Reference / 8. Compound statements / 8.6. Function definitions:
Эти значения - вычисляются и потом эти изменяемые значения продолжают передаваться в том же виде в последующих вызовах. Читаем The Python Language Reference / 8. Compound statements / 8.6. Function definitions:
Default parameter values are evaluated from left to right when the function definition is executed. This means that the expression is evaluated once, when the function is defined, and that the same “pre-computed” value is used for each call. This is especially important to understand when a default parameter is a mutable object, such as a list or a dictionary: if the function modifies the object (e.g. by appending an item to a list), the default value is in effect modified. This is generally not what was intended. A way around this is to use None as the default, and explicitly test for it in the body of the function, e.g.:
def whats_on_the_telly(penguin=None): if penguin is None: penguin = [] penguin.append("property of the zoo") return penguin
no subject
Date: 2015-11-03 07:18 pm (UTC)Re: (may I suggest not modifying things?)
Date: 2015-11-03 07:30 pm (UTC)But wait a minute...
Do you want to give me advice?
Or do you want to suggest this to the authors of the language?
no subject
Date: 2015-11-04 07:02 am (UTC)Re: не зÑÑ Ð¼Ð½Ðµ ÐиÑон не нÑавиÑÑÑ
Date: 2015-11-04 07:26 am (UTC)ÐÑ ÐµÑÑ Ð½Ðµ ÑÑлÑÑали, ÑÑо ÑÐºÐ°Ð¶ÐµÑ ÑÑÐ¾Ð¼Ñ Ð¿Ð¾Ð²Ð¾Ð´Ñ
ÐалÑÑенбÑÑннеÑÐогда Ñ ÑабоÑал в болÑÑой инÑеÑнаÑионалÑной ÑинанÑовой ÑÑÑÑкÑÑÑе в ÐоÑкве, на кÑÑ Ð½Ðµ ÑÑал ÑÑаÑÑником Ñакого ÑазговоÑа. ÐÑди из ÑоÑеднего пÑоекÑа обÑÑждали кое-ÑÑо, Ñ Ð·Ð°Ð¸ÐºÐ½ÑлÑÑ Ð¿Ñо ÐиÑон, Ñак они Ñказали, ÑÑо ÑовеÑÑенно невозможно пÑименÑÑÑ ÑÑÐ¾Ñ ÑзÑк на пÑакÑике! Я поинÑеÑеÑовалÑÑ, а поÑемÑ, ÑобÑÑвенно? ÐÑÐ²ÐµÑ Ð±Ñл Ñаким:Ðе знаÑ, ÑÑо подÑмали обо мне Ñе коллеги, но Ñ Ð¾ Ð½Ð¸Ñ Ð¿Ð¾Ð´Ñмал, ÑÑо не Ñ Ð¾ÑÑ Ñ Ð½Ð¸Ð¼Ð¸ ÑабоÑаÑÑ, еÑли они Ð²Ð¾Ñ Ñак Ð²Ð¾Ñ Ñ Ð°Ð¾ÑиÑно копиÑÑÑÑ Ð±Ð»Ð¾ÐºÐ¸ из одного меÑÑа в дÑÑгое без адапÑаÑии по меÑÑÑ.
Re: не зÑÑ Ð¼Ð½Ðµ ÐиÑон не нÑавиÑÑÑ
Date: 2015-11-04 08:04 am (UTC)Сказал. Ðо опÑÑÑ Ð¼Ð¾Ð¹ ÐºÐ°Ð¼ÐµÐ½Ñ Ð¾ÑмеÑен как подозÑиÑелÑнÑй. ÐавеÑное из-за Ñого, ÑÑо в нÑм каÑÑинка.
Re: не зÑÑ Ð¼Ð½Ðµ ÐиÑон не нÑавиÑÑÑ
Date: 2015-11-04 08:08 am (UTC)Ð, ÐÐÐÐÐÐÐ! Ð¢Ñ - взломал Ñвоим комменÑом веÑÑ ÐÐ!!!
Re: не зÑÑ Ð¼Ð½Ðµ ÐиÑон не нÑавиÑÑÑ
Date: 2015-11-04 08:13 am (UTC)попÑобÑÑ ÑÐ¾Ñ Ð¶Ðµ оÑвеÑ, но без
Date: 2015-11-04 08:24 am (UTC)Friday, December 27, 2013
...
[2:40:25 PM] Ðеликий ÐÐ°Ñ Ð°Ñма: мне ÐиÑон не нÑавиÑÑÑ. никак не Ð¼Ð¾Ð³Ñ Ð¿ÑивÑкнÑÑÑ ÑÑо вмеÑÑо "египеÑÑÐºÐ¸Ñ Ñкобок" или begin/end ÑÑейÑменÑÑ Ð¸ ÑкоÑÐ¿Ñ Ð²ÑделÑÑÑÑÑ Ð¿ÑоÑÑо инденÑаÑией. неÑдобно IMHO. Ð·Ð°Ñ Ð¾ÑеÑÑ Ñего добавиÑÑ, Ñак вмеÑÑо пÑоÑÑого заклÑÑÐµÐ½Ð¸Ñ ÑÑого в {} надо неÑколÑко ÑÑÑок иÑÑ Ð¾Ð´Ð½Ð¸ÐºÐ° впÑаво/влево двигаÑÑ. дебилизм какой-Ñо ÑÑиÑаÑ.
[2:41:19 PM] папаÑа ÐоÑÑеÑ: ÑоглаÑен
[2:41:48 PM] Ðеликий ÐÐ°Ñ Ð°Ñма: Ð²Ð¾Ñ Ñж ÑоÑно write-only language, пÑиÑÑм изнаÑалÑно надо вÑÑ Ð¿ÑодÑмÑваÑÑ ÑÑо надо, а ÑÑо неÑ, ÑÑÐ¾Ð±Ñ Ð¿Ð¾Ñле блоки кода впÑаво/влево не двигаÑÑ.
[2:42:26 PM] папаÑа ÐоÑÑеÑ: Так и еÑÑÑ. ÐÑо-Ñо ÑкÑÐ¸Ð¿Ñ Ð½Ð°Ð»Ð°Ð±Ð°ÐµÑ, и вÑе каÑаÑÑ-запÑÑкаÑÑ.
[2:44:55 PM] Ðеликий ÐÐ°Ñ Ð°Ñма: а поÑÐ¾Ð¼Ñ ÑÑо легÑе занова напиÑаÑÑ, Ñем добавлÑÑÑ/иÑпÑавлÑÑÑ.
[2:46:07 PM] Ðеликий ÐÐ°Ñ Ð°Ñма: еÑÑÑ Ð¶Ðµ ноÑмалÑнÑе ÑкÑипÑовÑе ÑзÑки (ноÑмалÑнÑе по ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ Ñ Python). ÑÐ¾Ñ Perl. Ñего вÑе к ÑÑÐ¾Ð¼Ñ ÐиÑÐ¾Ð½Ñ Ñак неÑовно дÑÑаÑ? не понимаÑ.
...
ÐÑоÑиÑал ÑÑÐ¾Ñ Ñвой ÐºÐ°Ð¼ÐµÐ½Ñ Ð¸ Ñвидел ÑÑо не мне Ð¾Ð´Ð½Ð¾Ð¼Ñ Ð¾ÐºÐ°Ð·ÑваеÑÑÑ ÐиÑон бÑл и еÑÑÑ Ð½ÐµÐ¿ÑиÑÑен именно из-за Ñого, ÑÑо "Там же из-за оÑÑÑÑпов нелÑÐ·Ñ Ð²Ð¾Ñ Ñак из одного меÑÑа пÑогÑÐ°Ð¼Ð¼Ñ Ð² дÑÑгое ÑкопиÑоваÑÑ ÑекÑÑ Ð±ÐµÐ· поÑледÑÑÑего вÑÑÐ°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾ меÑÑÑ!" :-)
no subject
Date: 2015-11-04 08:19 am (UTC)evergreenпоÑÑоÑнÑÑвом default паÑамеÑÑов -- авгÑÑÑ 2014. Ðо авгÑÑÑа 2014 Ñ Ñоже не знал пÑо ÑакÑÑ ÑиÑÑ Ð½ÐµÐ´Ð¾ÑзÑка. Ðо Ñ Ð°Ð²Ð³ÑÑÑа 2014 Ð·Ð½Ð°Ñ Ð¸ помнÑ.no subject
Date: 2015-11-05 04:44 am (UTC)