python的装饰器的简单理解

Python大区 2年前 (2022) 导航君
11 0 0

普通程序

~]# 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()

~]# python3 python_decorator_1.py

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

装饰器程序

~]# 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()

~]# python3 python_decorator_2.py

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

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

版权声明:导航君 发表于 2022年6月10日 上午8:41。
转载请注明:python的装饰器的简单理解 | 第八网址导航

相关文章

暂无评论

暂无评论...