程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python閉包

編輯:Python

9. 閉包

文章目錄

    • 9. 閉包
      • 9.1 函數參數
        • 9.1.1 直接print函數名 → 輸出函數所在空間的地址
        • 9.1.2 函數名存放的是函數所在空間地址
        • 9.1.3 函數就可以直接當做參數使用了
      • 9.2 閉包
        • 9.2.1 定義
        • 9.2.2 構成條件
        • 9.2.3 定義閉包的標准語法格式
      • 9.3 閉包的使用
      • 9.4 閉包內修改外部變量

9.1 函數參數

9.1.1 直接print函數名 → 輸出函數所在空間的地址

同樣一個函數名可以像普通變量賦值

9.1.2 函數名存放的是函數所在空間地址

函數名()執行函數名所存放空間地址中的代碼

9.1.3 函數就可以直接當做參數使用了

9.2 閉包

作用:閉包可以保存函數內的變量,不會隨著函數調用完而銷毀

9.2.1 定義

  • 在函數嵌套的前提下,內部函數使用了外部函數的變量,並且外部函數返回了內部函數,我們把這個使用外部函數變量的內部函數稱為閉包。

9.2.2 構成條件

  • 在函數嵌套的前提下

  • 內部函數使用了外部函數的變量(包括外部函數的參數)

  • 外部函數返回內部函數(名)

  • f(1) = 11
    f(2) = 12

9.2.3 定義閉包的標准語法格式

9.3 閉包的使用

將不會改變的變量定義在外部函數中,需要改變的變量值定義在內部函數中

9.4 閉包內修改外部變量

nonlocal 關鍵字來完成:聲明外部函數的變量


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved