欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python函數(shù)的兩種嵌套方法使用

 更新時(shí)間:2022年04月01日 15:31:54   作者:小小程序員ol  
本文主要介紹了python函數(shù)的兩種嵌套方法使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

python函數(shù)的兩種嵌套方法使用
函數(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ǔ)起來(lái),但不會(huì)被執(zhí)行。當(dāng)程序走到賦值操作時(shí),會(huì)先執(zhí)行等號(hào)右邊的代碼。函數(shù) func 被調(diào)用,函數(shù) a 作為參數(shù)被傳到 func 中。func 函數(shù)被執(zhí)行,順序也是從上往下,先是把 1 打印出來(lái),然后調(diào)用參數(shù) foo。

需要注意的是,foo 是形參,實(shí)參是 a。調(diào)用 foo 在此時(shí)的意思是調(diào)用函數(shù) a。函數(shù) a 被調(diào)用,又打印出一個(gè) 1 來(lái)。函數(shù) a 運(yùn)行完畢,返回至函數(shù) func,繼續(xù)執(zhí)行下面的代碼,打印出 3 來(lái)。最后,函數(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。到賦值語(yǔ)句,先執(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ù)的嵌套方法:

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)行到賦值語(yǔ)句時(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,然后打印出來(lái)。

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

到此這篇關(guān)于python函數(shù)的兩種嵌套方法使用的文章就介紹到這了,更多相關(guān)python函數(shù)嵌套內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python基于百度AI實(shí)現(xiàn)OCR文字識(shí)別

    Python基于百度AI實(shí)現(xiàn)OCR文字識(shí)別

    這篇文章主要介紹了Python基于百度AI實(shí)現(xiàn)OCR文字識(shí)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • Python實(shí)現(xiàn)輸入二叉樹的先序和中序遍歷,再輸出后序遍歷操作示例

    Python實(shí)現(xiàn)輸入二叉樹的先序和中序遍歷,再輸出后序遍歷操作示例

    這篇文章主要介紹了Python實(shí)現(xiàn)輸入二叉樹的先序和中序遍歷,再輸出后序遍歷操作,涉及Python基于先序遍歷和中序遍歷構(gòu)造二叉樹,再后序遍歷輸出相關(guān)操作技巧,需要的朋友可以參考下
    2018-07-07
  • python 逆向爬蟲正確調(diào)用 JAR 加密邏輯

    python 逆向爬蟲正確調(diào)用 JAR 加密邏輯

    這篇文章主要介紹了python 逆向爬蟲正確調(diào)用 JAR 加密邏輯,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2021-01-01
  • 使用Python實(shí)現(xiàn)二分法查找的示例

    使用Python實(shí)現(xiàn)二分法查找的示例

    這篇文章主要介紹了使用Python實(shí)現(xiàn)二分法查找的示例,二分法通常又叫二分查找,一般用于查找一個(gè)有序數(shù)組中的某個(gè)值的位置或者給定的特定值的插入位置,需要的朋友可以參考下
    2023-04-04
  • Python中的線程同步的常用方法總結(jié)

    Python中的線程同步的常用方法總結(jié)

    在Python多線程編程中,我們常常需要處理多個(gè)線程同時(shí)訪問(wèn)共享數(shù)據(jù)的情況,為了防止數(shù)據(jù)在多線程之間出現(xiàn)沖突,我們需要對(duì)線程進(jìn)行同步。本文將詳細(xì)介紹Python中的線程同步的幾種常用方法,需要的朋友可以參考下
    2023-06-06
  • Python3.5內(nèi)置模塊之os模塊、sys模塊、shutil模塊用法實(shí)例分析

    Python3.5內(nèi)置模塊之os模塊、sys模塊、shutil模塊用法實(shí)例分析

    這篇文章主要介紹了Python3.5內(nèi)置模塊之os模塊、sys模塊、shutil模塊用法,結(jié)合實(shí)例形式分析了Python os模塊、sys模塊及shutil模塊針對(duì)文件、路徑等相關(guān)操作技巧,需要的朋友可以參考下
    2019-04-04
  • Python  __getattr__與__setattr__使用方法

    Python __getattr__與__setattr__使用方法

    __getattr__和__setattr__可以用來(lái)對(duì)屬性的設(shè)置和取值進(jìn)行處理
    2008-09-09
  • Python實(shí)現(xiàn)矩陣加法和乘法的方法分析

    Python實(shí)現(xiàn)矩陣加法和乘法的方法分析

    這篇文章主要介紹了Python實(shí)現(xiàn)矩陣加法和乘法的方法,結(jié)合實(shí)例形式對(duì)比分析了Python針對(duì)矩陣的加法與乘法運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下
    2017-12-12
  • Python集合set的交集和并集操作方法

    Python集合set的交集和并集操作方法

    這篇文章主要介紹了Python集合set的交集和并集操作方法小,python的set,是一個(gè)無(wú)序不重復(fù)元素集,?基本功能包括關(guān)系測(cè)試和消除重復(fù)元素本文講述了python中set集合的比較方法包括交集,并集,差集,下文更多詳細(xì)資料,需要的小伙伴可以參考一下
    2022-03-03
  • python實(shí)現(xiàn)微信機(jī)器人: 登錄微信、消息接收、自動(dòng)回復(fù)功能

    python實(shí)現(xiàn)微信機(jī)器人: 登錄微信、消息接收、自動(dòng)回復(fù)功能

    這篇文章主要介紹了python實(shí)現(xiàn)微信機(jī)器人: 登錄微信、消息接收、自動(dòng)回復(fù)功能,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04

最新評(píng)論