封閉的包裹,內層函數被外層函數包裹起來,內層函數能夠引用外層函數的名字python
一、閉包函數必須在函數內部定義閉包
二、閉包函數能夠引用外層函數的名字函數
閉包函數是 函數的嵌套、函數對象、名稱空間與做用域的結合體url
----爲了裝飾器作準備的code
def index(x): # 將x做爲變量傳入外層形參中,調用可傳入任意x # x=100 # 這樣會寫死,調用時沒法修改 # func就是閉包函數 def func(): print(x) return func res = index(100) # 得的index執行後的返回值func res() # 至關於調用func
import requests def res(url): def inner(): respond = requests.get(url) if respond.status_code == 200: # 狀態碼是200,返回正常 print(len(respond.text)) return inner func = res("https://www.cnblogs.com/Mr-shen/") # 獲得的是inner的內存地址 func()