LINUX.ORG.RU

Это специально сделали, чтобы было что спрашивать соискателей на интервью.

i-rinat ★★★★★ ()

l — это не переменная, а указатель. Так понятнее?

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

в пузоне вроде как не-указателей вообще нет.

я вообще к тому что поведение не слишком очевидное. это именно что не default параметр, а указатель на один раз создаваемый default параметр, что может в целом привести к довольно интересной логике

upcFrost ★★★★★ ()
Последнее исправление: upcFrost (всего исправлений: 1)
Ответ на: комментарий от upcFrost

может в целом привести к довольно интересной логике

Если проигнорировать доки, различные гайды и bp, заглушить варнинги от всемозможных линтеров, то да, таки может привести.

http://docs.python-guide.org/en/latest/writing/gotchas/#mutable-default-argum...

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

да, кэп, да, я знаю что это есть в доке. но сам посуди - если это называют default argument, то подобное поведение абсолютно нелогично, поскольку значение по умолчанию != указатель на однократно создаваемое поле

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

абсолютно нелогично

У меня есть ощущение, что JavaScript тебе очень понравится :)

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

У меня есть ощущение, что JavaScript тебе очень понравится

спасибо, поплакал. нет, оно еще хуже.

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

Умолчальное значение

Двачую. На эмоциональном уровне я воспринимаю вызов a() как вызов без параметров, а значит должно исполнится l=list(), а не что-то другое. И таки не зря это поведение упомянуто в главе «gotchas».

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

Зато никто потом не посмеет заявить, что формошлёпство — скучное занятие.

aidaho ★★★★★ ()
Ответ на: Умолчальное значение от Camel

значит должно исполнится l=list(),

Оно же и выполняется. Вопрос «когда». Для питона это время исполнения кода интерпретатором. def исполняется не тогда, когда ты вызываешь ф-ю. Т.ч. всё очень логично.

DonkeyHot ★★★★★ ()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)