Название вашей функции a
. Это не требует никаких аргументов. Назовите это, используя a()
:
>>> def a():
... a = 'print'
... print a
...
>>> a()
print
Обратите внимание, что вы shadow определяете a
как функцию внутри самого a
, определяя локальную переменную с тем же именем. Вы можете избежать этого, так как это может запутать вас или других читателей вашего кода. Кроме того, это делает невозможным применение рекурсии .
В любом случае, в общем, если f
- это некоторый объект функции, то вы можете вызвать его, поставив за ним скобки, возможно, содержащие некоторые аргументы. Пример:
>>> def twice(text):
... print text
... print text
...
>>> twice('the text I want to print twice')
the text I want to print twice
the text I want to print twice