8.12 闭包函数
定义
闭包:闭是封闭(函数内部函数),包是包含(该内部函数对外部作用域而非全局作用域的变量的引用)。闭包指的是:函数内部函数对外部作用域而非全局作用域的引用。
闭包函数:本质是一种函数传值的思想,可以将参数和函数一起返回出去
def func(x): def f(): print(x) return f s = func(1) # s = f + 'x = 1' 将内嵌函数的对象和x的值返回给 s s() # 1
应用
闭包函数之爬虫的简单应用
import requests # 方式一:普通,每次调用都重复输入url def get_url(url): print(requests.get(url).text) # 调用三次 get_url('http://www.baidu.com') get_url('http://www.baidu.com') get_url('http://www.baidu.com') # 方式二:闭包思想,输入url可重复调用 def get(url): def get_url(): res = requests.get(url).text print(res) return get_url data = get('http://www.baidu.com') # 调用三次 data() data() data()