2010-01-12 91 views
1

我有一个功能,我希望它执行。有谁知道如何做到这一点?如何获得执行功能

def a(): 

    a = 'print' 
    print a 
+0

更具体 – 2010-01-12 14:30:47

+4

什么Python的教程,你下面?我想知道哪本书给你留下了这个问题。 – 2010-01-12 15:15:21

回答

3

要做到这一点你只是使用。

a() 

如果你想要这个当前文件里面使用用途:

if __name__ == '__main__': a() 

如果你想通过变量对其他功能的使用使用:

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

'b'是变量,'a'是你定义的函数。

所以整个函数看起来是这样的:

def a(): 

    b = 'print' 
    print b 

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

'if __name__ =='__main __':'非常混乱。你为什么写这么多次? – 2010-01-12 16:04:45

+0

@ S.Lott - 我已经注意到你的建议,现在没有写到任何地方。它在文件底部输入一次。 – chrissygormley 2010-01-12 17:02:24

+0

之后,函数'a'被变量'a'遮蔽。不好。 – 2010-01-13 08:43:48

14

您的功能的名称是a。它不需要任何参数。因此,使用a()叫它:

>>> def a(): 
...  a = 'print' 
...  print a 
... 
>>> a() 
print 

请注意,您阴影a定义为一个函数内a本身,通过定义具有相同名称的局部变量。您可能想避免这种情况,因为它可能会使您或您的代码的其他读者感到困惑。此外,它使无法应用recursion

无论如何,一般来说,如果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 
1

只写一个()!

1

我不知道我理解你的问题,但一个简单的函数调用将在

a() 
当然

,定义之后,所以这将是

def a(): 

    a = 'print' 
    print a 

a()