Python基础之闭包
Python基礎之閉包
一.閉包的定義 :
在一個函數的內部 ,再定義一個函數(內部函數)。這個內部函數引用了外部函數的變量,并且外部函數返回這個內部函數 ,我們把這個使用外部函數變量的內部函數稱為閉包。
簡而言之,閉包就是能夠讀取外部函數內的變量的函數。
例如 :
def f1(): # f1外部函數 n = 999 # n:外部函數的變量 def f2(): # 內部函數 print(n) # f2中引用f1的變量 return f2 # 外部函數f1返回內部函數f2,函數f2即是閉包#調用法一f1()()# 調用法二# result=f1()# result()形成閉包的兩個條件:
- 函數的返回值必須是被包函數對象(函數名)
- 閉包中必須引用了外層函數作用域內的變量或者形參
二.閉包的用途
①可以讀取函數內部的變量
②將一些變量的值始終保存到內存中
1.讀取函數內部的變量
在一般情況下,在函數外部我們是不能訪問到函數內部的變量的 。但是