普通程序
~]# 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),可以继续调用装饰器来修饰函数,而不用重复修改函数或者增加新的封装。这样,我们就提高了程序的可重复利用性,并增加了程序的可读性。
相关文章
暂无评论...