函數(shù)與函數(shù)之間的調(diào)用
3.1 第一種情況 程序代碼如下:
def x(f):
def y():
print(1)
return y
def f():
print(2)
x(f)
運(yùn)行結(jié)果:
無(wú)結(jié)果
分析:因?yàn)榈?行中的x(f)中的f沒(méi)有帶括號(hào),f只是一個(gè)普通的參數(shù),所以程序只調(diào)用執(zhí)行了x(f)函數(shù),沒(méi)有調(diào)用執(zhí)行f()函數(shù)。x(f)函數(shù)中雖然也定義了y()函數(shù),但是x(f)函數(shù)中沒(méi)有調(diào)用執(zhí)行y()函數(shù),只是執(zhí)行了return y。而y變量也沒(méi)有值,所以整個(gè)程序的返回值就為無(wú)結(jié)果。
3.2 第二種情況 程序代碼如下:
def x(f):
def y():
print(1)
return y
def f():
print(2)
x(f())
運(yùn)行結(jié)果:
2
分析:因?yàn)榈?行中的x(f())中的f()帶括號(hào),所以程序先調(diào)用執(zhí)行f()函數(shù),先輸出2。然后2作為參數(shù)傳入到x(f)函數(shù)中,程序開(kāi)始調(diào)用執(zhí)行x(f)函數(shù)。x(f)函數(shù)中雖然也定義了y()函數(shù),但是x(f)函數(shù)中沒(méi)有調(diào)用執(zhí)行y()函數(shù),只是執(zhí)行了return y。而y變量也沒(méi)有值,所以調(diào)用執(zhí)行x(f)函數(shù)沒(méi)有產(chǎn)生任何結(jié)果。因此該程序最終只輸出了2。
3.3 第三種情況 程序代碼如下:
def x(f):
def y():
print(1)
return y()
def f():
print(2)
x(f)
運(yùn)行結(jié)果:
1
分析:因?yàn)榈?行中的x(f)中的f沒(méi)有帶括號(hào),f只是一個(gè)普通的參數(shù),所以程序只調(diào)用執(zhí)行了x(f)函數(shù),沒(méi)有調(diào)用執(zhí)行f()函數(shù)。x(f)函數(shù)中也定義了y()函數(shù),并且返回是y()函數(shù)。因此程序調(diào)用執(zhí)行了y()函數(shù),輸出結(jié)果是1。
3.4 第四種情況
def x(f):
def y():
print(1)
return y()
def f():
print(2)
x(f())
運(yùn)行結(jié)果:
2
1
分析:因?yàn)榈?行中的x(f())中的f()帶括號(hào),所以程序調(diào)用執(zhí)行了f()函數(shù),先輸出2。然后2作為參數(shù)傳入到x(f)函數(shù)中,程序開(kāi)始調(diào)用執(zhí)行x(f)函數(shù)。x(f)函數(shù)中也定義了y()函數(shù),并且返回是y()函數(shù)。因此程序也調(diào)用執(zhí)行了y()函數(shù),也輸出了1。最終該程序先后輸出了2和1。
3.5 第五種情況 程序代碼如下:
def x(f):
def y():
print(1)
print(f())
return y()
def f():
#print(2)
return 2
x(f)
運(yùn)行結(jié)果:
1
2
分析:因?yàn)榈?行中的x(f)中的f沒(méi)有帶括號(hào),f只是一個(gè)普通的參數(shù),所以程序只是先調(diào)用執(zhí)行了x(f)函數(shù)。在x(f)函數(shù)中也定義了y()函數(shù),而且返回值是y()函數(shù),所以程序會(huì)調(diào)用執(zhí)行y()函數(shù)。在y()函數(shù)中先是執(zhí)行print(1)語(yǔ)句,輸出1,接著執(zhí)行print(f())語(yǔ)句,所以程序在這時(shí)也會(huì)調(diào)用執(zhí)行f()函數(shù),輸出2。最終該程序先后輸出了1和2。
-
程序
+關(guān)注
關(guān)注
117文章
3785瀏覽量
81003 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4327瀏覽量
62569 -
變量
+關(guān)注
關(guān)注
0文章
613瀏覽量
28360 -
python
+關(guān)注
關(guān)注
56文章
4792瀏覽量
84627
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論