闭包函数
''' 闭包函数: 1、闭包函数必须在函数内部定义 2、闭包函数可以引用外层函数的名字 闭包函数是函数对象、函数嵌套、名称空间与作用域的结合体 ''' # 直接传参 def func(x): print(x) # 通过闭包函数传参 def wrapper(x): def inner(): print(x) return inner func = wrapper(100) # >>返回inner的内存地址>>>>保存在func中 func()
# 闭包函数的应用 import requests # 直接传参 def spider_func(url): response = requests.get(url) if response.status_code == 200: print(len(response.text)) # 闭包函数chuanc def spider_outer(url): def spider_inner(): response = requests.get(url) if response.status_code == 200: print(len(response.text)) return spider_inner url1 = 'https://www.baidu.com/' url2 = 'https://www.cnblogs.com/xiaoyuanqujing' spider_baidu = spider_outer(url1) spider_blog = spider_outer(url2) spider_baidu() spider_blog() spider_outer(url1)