] Я готов к упражнению 41 в книге «Изучаем Python на сложном пути», и мне очень трудно осознать тот факт, что все зависит от функции, работающей только потому, что она была присвоена как значение переменной. . Я написал небольшой скрипт, чтобы подтвердить, что именно так это работает, и он работает:
def pants():
print "Put on some pants!"
def shorts():
print "And don't forget your underwear!"
zap = pants()
thing = shorts()
С результатами:
Put on some pants!
And don't forget your underwear!
Итак, очевидно, что это происходит, но я не могу понять, почему язык работает именно так — что за языком стоит логика, которая делает его ценным способом работы. Думаю, мне будет полезно понять, почемуэто так, а не просто «так оно и работает».
Для ясности: я спрашиваю (я думаю), почему функция работает, когда все, что я делаю, это присваиваю ей значение для чего-то.Операторы печати просто есть, поэтому я вижу, что функция действительно работает.
Дело в том, что я никогда не бегаю
в штанах() shorts()
, что меня смущает.
Чтобы создать мучительную аналогию, если бы я-выпекал-печенье-дома было "печенье()", и я должен был бы делать печенье по субботам, я мог бы в конце концов поверить, что
Суббота = печенье()
но просто думать «эй, суббота — день печенья» — это не то же самое, что на самом деле печь печенье... так почему просто сказать
суббота = печенье()
на самом деле печь печенье, вместо того, чтобы просто настроить субботу с помощью переменной «cookies ()» для последующего использования?