最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

交叉嵌套

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

def func(foo):
? ? print(1)
? ? foo()
? ? print(3)
? ??
def a():
? ? print(1)

b = func(a)
print(b)

輸出的結果為:

1
1
3
None

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

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

再看下面的代碼:

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)

輸出的結果為:

3
1
我太難了
2
None
4

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

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

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

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

def func(a,b):
    def foo(b,a):
        print(b,a)
    return foo(a,b) #先執(zhí)行函數(shù)調用
a = func(4,7)
print(a)

輸出的結果為:

4 7
None

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

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

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

相關文章

  • 深入了解和應用Python 裝飾器 @decorator

    深入了解和應用Python 裝飾器 @decorator

    在編程過程中,經常遇到這樣的場景:登錄校驗,權限校驗,日志記錄等,這些功能代碼在各個環(huán)節(jié)都可能需要,但又十分雷同,通過裝飾器來抽象、剝離這部分代碼可以很好解決這類場景,這篇文章主要介紹了Python的裝飾器 @decorator,探討了使用的方式,需要的朋友可以參考下
    2019-04-04
  • python是先運行metaclass還是先有類屬性解析

    python是先運行metaclass還是先有類屬性解析

    這篇文章主要為大家介紹了python是先運行metaclass還是先有類屬性的問題原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-05-05
  • Python實現(xiàn)將視頻按照時間維度剪切

    Python實現(xiàn)將視頻按照時間維度剪切

    這篇文章主要為大家詳細介紹了如何利用Python實現(xiàn)將視頻按照時間維度進行剪切,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起了解一下
    2022-12-12
  • python global關鍵字的用法詳解

    python global關鍵字的用法詳解

    這篇文章主要介紹了python global關鍵字的用法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-09-09
  • python GUI庫圖形界面開發(fā)之PyQt5布局控件QVBoxLayout詳細使用方法與實例

    python GUI庫圖形界面開發(fā)之PyQt5布局控件QVBoxLayout詳細使用方法與實例

    這篇文章主要介紹了python GUI庫圖形界面開發(fā)之PyQt5布局控件QVBoxLayout詳細使用方法與實例,需要的朋友可以參考下
    2020-03-03
  • Python用模塊pytz來轉換時區(qū)

    Python用模塊pytz來轉換時區(qū)

    在Python中,與時間相關的庫有好些,可以幫助我們快速的處理與時間相關的需求和問題。這里想和大家分享一下如何在Python用模塊pytz來轉換時區(qū)。
    2016-08-08
  • python實現(xiàn)簡單的貪吃蛇游戲

    python實現(xiàn)簡單的貪吃蛇游戲

    這篇文章主要為大家詳細介紹了python實現(xiàn)簡單的貪吃蛇游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-03-03
  • 基于Python制作flappybird游戲的詳細步驟

    基于Python制作flappybird游戲的詳細步驟

    python中pygame模塊能讓我們很方便的編寫游戲,下面這篇文章主要給大家介紹了關于如何基于Python制作flappybird游戲的詳細步驟,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-05-05
  • Python警察與小偷的實現(xiàn)之一客戶端與服務端通信實例

    Python警察與小偷的實現(xiàn)之一客戶端與服務端通信實例

    這篇文章主要介紹了Python警察與小偷的實現(xiàn)之一客戶端與服務端通信實例,并附有難點及易錯點的分析與說明,需要的朋友可以參考下
    2014-10-10
  • python使用any判斷一個對象是否為空的方法

    python使用any判斷一個對象是否為空的方法

    這篇文章主要介紹了python使用any判斷一個對象是否為空的方法,并給出了改進的方法供大家對比參考,具有一定的借鑒價值,需要的朋友可以參考下
    2014-11-11

最新評論

海原县| 历史| 阿荣旗| 高唐县| 灌阳县| 博爱县| 墨竹工卡县| 康定县| 灌南县| 镇巴县| 昌吉市| 锡林浩特市| 大化| 邮箱| 蒙山县| 东莞市| 安乡县| 寿光市| 磴口县| 育儿| 晋中市| 道孚县| 武陟县| 舟山市| 正安县| 阜宁县| 格尔木市| 玉溪市| 高青县| 榆社县| 吉林省| 沂南县| 当阳市| 唐海县| 资中县| 耿马| 铜鼓县| 道真| 平泉县| 澄江县| 新民市|