2010-01-12 60 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()