# coding:utf-8;
# 导包
import functools
# 装饰器
def login_required(f):
""" login_required"""
# 添加装饰函数,目的不改变被装饰函数的函数名
@functools.wraps(f)
def wrapper(*args, **kwargs):
"""wrapper"""
return f(*args, **kwargs)
# 返回函数名
return wrapper
def func(): # 被装饰函数
"""func name"""
print('被装饰函数正在执行...')
print(func.__name__)
print(func.__doc__)
# 调用
func()
# 导包
import functools
# 装饰器
def login_required(f):
""" login_required"""
# 添加装饰函数,目的不改变被装饰函数的函数名
@functools.wraps(f)
def wrapper(*args, **kwargs):
"""wrapper"""
return f(*args, **kwargs)
# 返回函数名
return wrapper
def func(): # 被装饰函数
"""func name"""
print('被装饰函数正在执行...')
print(func.__name__)
print(func.__doc__)
# 调用
func()