#定義嵌套函數 def func1(): print('this is func1') def func2(): print('this is func2')#調用1func1()輸出:this is func1上面沒有輸出this is func2,說明嵌套子函數func2()沒有被調用原因:一個 ...
#定義嵌套函數
def func1():
print('this is func1')
def func2():
print('this is func2')
#調用1
func1()
輸出:this is func1
上面沒有輸出this is func2,說明嵌套子函數func2()沒有被調用
原因:一個函數定義後,除非通過函數名調用,要不然始終不會被調用
那如何調用func2()呢?
#調用2
func2()
func1()
輸出:this is func1()
this is func2()
Note:嵌套子函數調用註意縮進!
若是以下測試,該輸出什麼呢?
#調用3
func2()
print('調用3')
func1()
輸出:調用3
this is func1()
this is func2()
解釋:這三行測試代碼的執行順序:print('調用3')->func1()->func2()所以才會輸出上述結果。
一點小收穫:python解釋器執行代碼時,先執行頂格(靠近編輯器最左端)的代碼,然後再來執行有縮進的代碼。所以就不難理解上述執行順序了!