2016-02-16 203 views
2

當你調用一個函數,你必須先定義其功能定義和,否則你會得到一個錯誤 消息。但是,當你有其他函數調用一個函數它的好之後,要定義機能的研究,例如:呼叫在Python

def repeat_name(): 
    print_name() 
    print_name() 

def print_name(): 
    print('Mahmud') 

repeat_name() 

在這個例子中,我們的界定及之前調用repeat_name功能print_name功能,並能正常工作,但爲什麼這發生了嗎?

注:我是在Python初學者。

回答

1

認爲它被解釋爲運行,因此repeat_name函數中的項目在第一次在print_name函數之後的repeat_name()處被調用時才被檢查。

如果你把電話給repeat_name()上述print_name功能,它也將失敗。

這就是爲什麼如果你有代碼:

def my_func(x): 
    print(x) 

my_func("hello world") 

這並不反常了,它不知道什麼x是,becasue x將被定義當你第一次調用該函數my_func("hello world")

+0

謝謝!我現在知道了。功能的定義對執行沒有影響,所以當我打電話repeat_name功能其實,我調用print_name功能的兩倍,是這樣嗎? –

+0

你是正確的! – CasualDemon