import time
start_time = time.time()
def func():
time.sleep(2) # 睡眠(模拟网络延迟)
print("飞")
func()
print(time.time() - start_time)
import time
def times(f):
start_time = time.time()
f()
print(time.time() - start_time)
def func():
time.sleep(2) # 睡眠(模拟网络延迟)
print("飞")
times(func)
import time
def times(f):
start_time = time.time()
f()
print(time.time() - start_time)
def func():
time.sleep(2) # 睡眠(模拟网络延迟)
print("飞")
s = func
func = times
func(s)
import time
def times(f):
def inner():
start_time = time.time()
f()
print(time.time() - start_time)
return inner
def func():
time.sleep(2) # 睡眠(模拟网络延迟)
print("飞")
func = times(func)
func() # inner()
import time
def times(f):
def inner(*args, **kwargs):
start_time = time.time()
f(*args, **kwargs)
print(time.time() - start_time)
return inner # 切记:不要加括号
def func(*args, **kwargs):
time.sleep(2) # 睡眠(模拟网络延迟)
print(f"飞 {args, kwargs}")
func = times(func)
func("yulin", 1, 2, 3) # inner("yulin", 1, 2, 3)
import time
def times(f):
def inner(*args, **kwargs):
start_time = time.time()
f(*args, **kwargs)
print(time.time() - start_time)
return inner # 切记:不要加括号
@times # func = times(func)
def func(*args, **kwargs):
time.sleep(2) # 睡眠(模拟网络延迟)
print(f"飞 {args, kwargs}")
@times # foo = times(foo)
def foo(*args, **kwargs):
time.sleep(1)
print(f"隐身{args, kwargs}")
func("yulin", 1, 2, 3)
foo("yilin", 3)
login_dic = {
"username": None,
"flag": False
}
def auth(f):
def inner(*args, **kwargs):
if login_dic["flag"]:
return f()
else:
return login()
return inner
@auth
def index():
print(f"这是个{login_dic[‘username‘]}的主页")
return "主页没有内容"
def login():
print("这是一个登录页面")
user = input("username:")
pwd = input("password:")
if user == "yulin" and pwd == "123":
login_dic["flag"] = True
login_dic["username"] = user
return "登陆成功"
else:
return "用户名或密码错误!"
@auth
def comment():
print(f"这是{login_dic[‘username‘]}评论")
while not login_dic["flag"]:
print(comment())
login_dic = {
"username": None,
"flag": False,
"count": 3
}
def auth(f):
def inner(*args, **kwargs):
if login_dic["flag"]:
f()
else:
login(f) # f == comment
return inner
@auth
def index():
print(f"这是个{login_dic[‘username‘]}的主页")
return "主页没有内容"
def login(func=False):
while login_dic["count"]:
print("这是一个登录页面")
user = input("username:")
pwd = input("password:")
if user == "yulin" and pwd == "123":
login_dic["flag"] = True
login_dic["username"] = user
login_dic["count"] = 0
print("登陆成功")
if func:
func()
else:
login_dic["count"] -= 1
print(f"用户名或密码错误!剩余次数{login_dic[‘count‘]}")
@auth
def comment():
print(f"这是{login_dic[‘username‘]}评论")
comment()
原文:https://www.cnblogs.com/Ylinn/p/13883242.html