闭包函数 装饰器 迭代器
闭包函数 一、什么是闭包 闭包:闭是封闭(函数内部函数),包是包含(该内部函数对外部作用域而非全局作用域的变量的引用)。闭包指的是:函数内部函数对外部作用域而非全局作用域的引用。简单的说闭包函数就是把变量和函数一起包起来,下次要用直接使用 def outter(x): def inner(): print(x) return inner inner = outter(2) # inner # f = inner inner() inner() inner() # 查看闭包的元素 print(F"f.__closure__[0].cell_contents: {f.__closure__[0].cell_contents}") 结果: 2 2 2 f.__closure__[0].cell_contents: 2 二、闭包函数的应用 闭包的含义:返回的函数对象,不仅仅是一个函数对象,在该函数外还包裹一层作用域,这使得该函数无论在何处调用,优先先使用自己外层包裹的作用域 应用领域:延迟计算(原来我们是传参的,现在我们包裹起来)、怕成领域 import requests def get(url): response = requests.get(url) print(f"done: {url}") get('https://www.baidu.com') get('https://www