日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python函数的两种嵌套方法

發(fā)布時(shí)間:2025/3/20 python 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python函数的两种嵌套方法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

函數(shù)的嵌套有兩種方式:

  • 交叉嵌套
  • 回環(huán)嵌套

交叉嵌套

交叉嵌套的方式是在本函數(shù)中調(diào)用同一級(jí)或上一級(jí)函數(shù)的嵌套方法:

def func(foo):print(1)foo()print(3)def a():print(1)b = func(a) print(b)

輸出的結(jié)果為:

1 1 3 None

首先,程序會(huì)將 Python 文件中頂格的代碼運(yùn)行。函數(shù) func 和 a 都是先開辟內(nèi)存空間存儲(chǔ)起來,但不會(huì)被執(zhí)行。當(dāng)程序走到賦值操作時(shí),會(huì)先執(zhí)行等號(hào)右邊的代碼。函數(shù) func 被調(diào)用,函數(shù) a 作為參數(shù)被傳到 func 中。func 函數(shù)被執(zhí)行,順序也是從上往下,先是把 1 打印出來,然后調(diào)用參數(shù) foo。

需要注意的是,foo 是形參,實(shí)參是 a。調(diào)用 foo 在此時(shí)的意思是調(diào)用函數(shù) a。函數(shù) a 被調(diào)用,又打印出一個(gè) 1 來。函數(shù) a 運(yùn)行完畢,返回至函數(shù) func,繼續(xù)執(zhí)行下面的代碼,打印出 3 來。最后,函數(shù)默認(rèn)返回 None,賦值給 b。程序運(yùn)行結(jié)束。

再看下面的代碼:

def func():print(1)print("我太難了")print(2)def foo(b):print(3)ss = b()print(ss)print(4)def f(a,b):a(b)f(foo,func)

輸出的結(jié)果為:

3 1 我太難了 2 None 4

跟上面一樣,先將函數(shù)全都加載到新開辟的內(nèi)存空間中,但不執(zhí)行。到最后 f 函數(shù)被調(diào)用,foo 和 func 兩個(gè)函數(shù)作為參數(shù)被傳到函數(shù) f 中。在函數(shù) f 中,foo 函數(shù)被調(diào)用,參數(shù)為 func 函數(shù)。進(jìn)入到 foo 函數(shù),先打印 3。到賦值語句,先執(zhí)行等號(hào)右邊的代碼,函數(shù) func 被調(diào)用。

在函數(shù) func 中,打印三個(gè)內(nèi)容 1、我太難了 和 2。函數(shù)默認(rèn)返回值為 None,被賦值給 ss。打印 ss 就是打印 None。最后打印 4,然后返回到函數(shù) f,再返回到全局空間。執(zhí)行結(jié)束。

回環(huán)函數(shù)

回環(huán)函數(shù)就是在函數(shù)中調(diào)用下級(jí)函數(shù)的嵌套方法:

''' 學(xué)習(xí)中遇到問題沒人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:857662006 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書! ''' def func(a,b):def foo(b,a):print(b,a)return foo(a,b) #先執(zhí)行函數(shù)調(diào)用 a = func(4,7) print(a)

輸出的結(jié)果為:

4 7 None

函數(shù)依然先存儲(chǔ)在新開辟的空間中不會(huì)被調(diào)用。運(yùn)行到賦值語句時(shí),還是先執(zhí)行等號(hào)右邊的代碼,將兩個(gè)數(shù)字傳到函數(shù) func中。在函數(shù)內(nèi)部,依然是先開辟空間把函數(shù) foo 放進(jìn)去。運(yùn)行到 return 不會(huì)馬上終止函數(shù),而是先運(yùn)行 return 后面的代碼。foo 函數(shù)被調(diào)用,傳進(jìn)去的值是 4 和 7,然后打印出來。

需要注意的是,函數(shù) foo 的形參與函數(shù) func 的形參是相同的,不要給搞混了。日常寫代碼時(shí)不建議這樣使用。打印出 4 和 7 之后,運(yùn)行到函數(shù)最后一行,函數(shù)默認(rèn)返回 None。然后再賦值給 a,打印出來。

總結(jié)

以上是生活随笔為你收集整理的python函数的两种嵌套方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。