封闭的包裹,内层函数被外层函数包裹起来,内层函数能够引用外层函数的名字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()