user_status = False #用户登录后改为True
def login(func): #传入想调用的函数名
def inner():
_username = 'alex' #假装这是DB里存的用户信息
_password = 'abc!23' #假装这是DB里存的用户信息
global user_status
if user_status == False:
username = input('user:')
password = input('password:')
if username == _username and password == _password :
print('welcome login...')
user_status = True
else:
print('wrong username or password!')
else:
print('用户已登录,验证通过...')
if user_status:
func() #执行传入的函数名的函数
return inner #返回内层函数的内存地址
def home():
print('----首页----')
def america():
print('----欧美专区----')
def japan():
print('----日韩专区----')
@login #相当于henan = login(henan) ,返回inner
def henan():
print('----河南专区----')
henan()
user_status = False #用户登录后改为True
def login(func): #传入想调用的函数名
def inner(*args,**kwargs):
_username = 'alex' #假装这是DB里存的用户信息
_password = 'abc!23' #假装这是DB里存的用户信息
global user_status
if user_status == False:
username = input('user:')
password = input('password:')
if username == _username and password == _password :
print('welcome login...')
user_status = True
else:
print('wrong username or password!')
else:
print('用户已登录,验证通过...')
if user_status:
func(*args,**kwargs) #执行传入的函数名的函数
return inner #返回内层函数的内存地址
def home():
print('----首页----')
def america():
print('----欧美专区----')
@login
def japan():
print('----日韩专区----')
@login #相当于henan = login(henan) = inner
def henan(style):
print('----河南专区----',style)
henan('3p')
japan()
user_status = False #用户登录后改为True
def login(author_type): #传入想调用的函数名
def outer(func):
def inner(*args,**kwargs):
_username = 'alex' #假装这是DB里存的用户信息
_password = 'abc!23' #假装这是DB里存的用户信息
global user_status
if user_status == False:
username = input('user:')
password = input('password:')
if username == _username and password == _password :
print('welcome login...')
user_status = True
else:
print('wrong username or password!')
else:
print('用户已登录,验证通过...')
if user_status:
func(*args,**kwargs) #执行传入的函数名的函数
return inner #返回内层函数的内存地址
return outer
def home():
print('----首页----')
def america():
print('----欧美专区----')
@login('wx')
def japan():
print('----日韩专区----')
@login('qq') #相当于 xx = login('qq') = outer, henan = xx(henan) = inner
def henan(style):
print('----河南专区----',style)
henan('3p')
japan()