Как получить функцию для выполнения - PullRequest
1 голос
/ 12 января 2010

У меня есть функция, и я хочу ее выполнить. Кто-нибудь знает, как это сделать?

def a():

    a = 'print'
    print a

Ответы [ 4 ]

14 голосов
/ 12 января 2010

Название вашей функции 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
3 голосов
/ 12 января 2010

Для этого вы просто используете.

a()

Если вы хотите использовать это в текущем файле, используйте:

if __name__ == '__main__': a()

А если вы хотите передать переменную a для использования в других функциях, используйте:

if __name__ == '__main__': b = a()

«b» - переменная, а «a» - определенная вами функция.

Таким образом, вся функция может выглядеть так:

def a():

    b = 'print'
    print b

if __name__ == '__main__': b = a()
1 голос
/ 12 января 2010

Я не уверен, что понял ваш вопрос, но простой вызов функции идет как в

a()

конечно, после определения, поэтому было бы

def a():

    a = 'print'
    print a

a()
1 голос
/ 12 января 2010

просто напишите ()!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...