#定義嵌套函數
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解釋器執行代碼時,先執行頂格(靠近編輯器最左端)的代碼,然后再來執行有縮進的代碼。所以就不難理解上述執行順序了!