20181211装饰器学习

user_status = False
def login(func):
def inner(): #加入inner,login在运行时,不会直接执行func()
global user_status
if user_status == True:
print('123')
else:
func()
return inner #这里返回inner内存地址,不是inner().

@login
def proj1():
print('装饰器练习1')
#此处类似于进行一个计算,login(proj1()),最后得到一个inner,内存地址.并且,将新的内存地址赋给proj1,形成一个新的proj1

@login
def proj2():
print('装饰器练习2')

proj1()
#运行新的proj1

posted @ 2018-12-11 23:02  半山小玉米  阅读(63)  评论(0编辑  收藏  举报