装饰器

Posted jackfree

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了装饰器相关的知识,希望对你有一定的参考价值。

staus = False
def login(func):
def inner(*args, **kwargs):
global staus
if staus == False:
user = input(‘user: ‘)
password = input(‘password: ‘)
if user == ‘alex‘ and password == ‘abc‘:
staus = True
else:
print(‘密码不对‘)
else:
print(‘用户已验证,通过‘)
if staus == True:
func(*args,**kargs)
return inner

def home():
print("---首页----")

def america():
print("----欧美专区----")
@login
def japan():
print("----日韩专区----")
@login
def henan():
print("----河南专区----")


# america = login(america) # 实际执行了函数,这不是我们想要的,想要的只是赋值,也就是返回函数的内存地址
# america(‘3P‘)
japan(‘PP‘)

技术分享图片

 

技术分享图片

 









































以上是关于装饰器的主要内容,如果未能解决你的问题,请参考以下文章

python 装饰器:装饰器实例类装饰器(装饰函数)

装饰器、装饰器类与类装饰器(三)

Python进阶装饰器(Decorator)

python 装饰器:装饰器实例内置装饰器

python 装饰器:装饰器实例内置装饰器

TS之装饰器