打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Python|闭包、装饰器,简单的实例,通俗的理解

闭包和装饰器都是属于函数的语法范畴,是在函数定义中以另一个函数做为形参的语法机制。

1 闭包(Closurer)

闭包是定义内部函数的一种语法规则,要理解闭包,请看下面的实例:

def outer(t):

....print(t)

....def inner(i):

........return t+i

....return inner

tf1 = outer(200)

tf2 = outer(300)

print(tf1(20))

print(tf2(20))

'''

200

300

220

320'''

闭包是一种函数嵌套的机制,如上例的inner(),在inner()中引用了inner()以外、outer()以内的局部变量,而outer返回inner。

装饰器(Decorator)

装饰器主要是利用闭包外层函数能返回内层函数的功能,用来装饰函数,给函数快速增加附加的功能。

def decor(f):

....def new_f(x,y):

........print('参数1为%d,参数2为%d' %(x,y))

........return f(x,y)

....return new_f

@ decor

def add(x,y):

....return x+y

print(add(5,7))

'''

参数1为5,参数2为7

12

'''

语句@ decor表示使用装饰器来装饰add(),实际上是执行decor(add)()。本质上就把add函数当做参数传递到decor函数,decor(add)返回的是new_f,add是new_f函数的一个变量。

-End-

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Python装饰器decorator用法实例
python - 内置对象 之 变量
12步轻松搞定python装饰器
Python装饰器的实现原理
说说Python中闭包是什么?
干货分享 | 理解 Python 装饰器的简单方法
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服