閉包函數

閉包函數

定義

封閉的包裹,內層函數被外層函數包裹起來,內層函數能夠引用外層函數的名字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()
相關文章
相關標籤/搜索