Python - Closure(闭包)

【 将函数与函数运行的环境封装在一起的对象叫做闭包 】

 



在哪里有用到呢?=>【Sqlalchemy - 数据查询(无条件查询+条件查询)



闭包的内部函数中使用的变量一般来自外层函数的传参,外层函数返回内部函数的函数名;

调用时赋值给新变量,新变量添加括号即可使用该闭包(如上)。

>>>
>>> def A(data):
...     def A_a():
...             print(data)
...     return A_a
...
>>> new = A(12)
>>> new
<function A.<locals>.A_a at 0x000000BEC82B0730>
>>> new()
12
>>> del A
>>> A(12)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'A' is not defined
>>> new()
12
>>> new
<function A.<locals>.A_a at 0x000000BEC82B0730>
>>>


python装饰器使用到了闭包:

专题:【Python装饰器自定义

 

 

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 点我我会动 设计师:白松林 返回首页
实付 49.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值