扣丁学堂Python培训简述Python装饰器语法糖

Python开发技术在企业中很受人们的关注,Python开发工程师也是很受欢迎,本篇文章扣丁学堂Python培训小编给读者们分享一下Python装饰器语法糖,文中有代码列出供读者们参考,希望对小伙伴们有所帮助。

扣丁学堂Python培训简述Python装饰器语法糖

扣丁学堂Python培训

Python装饰器语法糖代码示例:

####装饰器的固定格式
##普通版本
def timer(func):
 def inner(*args,**kwargs):
 '''执行函数之前要做的'''
 ret = func(*args,**kwargs)
 '''执行函数之后要做的'''
 return ret
 return inner
##wraps版本
from functools import wraps
def deco(func):
 @wraps(func) #加在最内层函数正上方
 def wrapper(*args,**kwargs):
 return func(*args,**kwargs)
 return wrapper
####带参数的装饰器
def outer(flag):
 def timer(func):
 def inner(*args,**kwargs):
 if flag:
 print('''执行函数之前要做的''')
 ret = func(*args,**kwargs)
 if flag:
 print('''执行函数之后要做的''')
 return ret
 return inner
 return timer
@outer(True)
def func():
 return '返回值'
x=func()
print(x)

以上就是扣丁学堂Python在线学习小编给大家分享的Python装饰器语法糖,希望对小伙伴们有所帮助,想要了解更多内容的小伙伴可以登录扣丁学堂官网咨询。

想要学好Python开发小编给大家推荐口碑良好的扣丁学堂,扣丁学堂有专业老师制定的Python学习路线图辅助学员学习,此外还有与时俱进的Python课程体系和Python视频教程供大家学习,想要学好Python开发技术的小伙伴快快行动吧。

Pyhon基础课程:https://ke.qq.com/course/327534?flowToken=1008607 【扫码进入Python全栈开发免费公开课】

注:点击(了解更多)进入课程直播间

相关推荐