• 欢迎访问笔记阁,实用快捷文章教程,推荐使用Chrome浏览器和360极速浏览器访问本网站
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏笔记阁吧

简单理解python的装饰器(语法糖)

python3 feko 1个月前 (03-09) 59次浏览 已收录 0个评论 扫描二维码

普通程序

[root@localhost ~]# cat python_decorator_1.py

def login_print(func):
    def wrapper(*args, **kwargs):
        print("提示一:你好")
        return func(*args, **kwargs)
    return wrapper

def add_print():
    print("提示二:欢迎登陆")

add_print = login_print(add_print)
add_print()

[root@localhost ~]# python3 python_decorator_1.py

提示一:你好
提示二:欢迎登陆

装饰器程序

[root@localhost ~]# cat python_decorator_2.py

def login_print(func):
    def wrapper(*args, **kwargs):
        print("提示一:你好")
        return func(*args, **kwargs)
    return wrapper

@login_print
def add_print():
    print("提示二:欢迎登陆")

#add_print = login_print(add_print)
add_print()

[root@localhost ~]# python3 python_decorator_2.py

提示一:你好
提示二:欢迎登陆

小结:通过加上@login_print 可以省去add_print = login_print(add_print),可以继续调用装饰器来修饰函数,而不用重复修改函数或者增加新的封装。这样,我们就提高了程序的可重复利用性,并增加了程序的可读性。


笔记阁 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:简单理解python的装饰器(语法糖)
喜欢 (0)
发表我的评论
取消评论
表情 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址