第8章 闭包函数
闭包函数和装饰器之前是比较懵的,老师这次讲得很清楚了。
1 编写函数,(函数执行的时间是随机的)
import random
import time
def mytime():
time.sleep(random.randint(2,3)) #停顿2或3秒再运行
print(random.randint(2,3))
mytime()
2 编写装饰器,为函数加上统计时间的功能
import time
def timmer(func):
def wrapper(*args,**kwargs):
start= time.time()
func(*args,**kwargs)
stop = time.time()
print('执行时间是%s'%(stop-start))
return wrapper
@timmer
def exe():
print('程序运行的时间')
exe()
3 编写装饰器,为函数加上认证的功能
def auth(func):
def wrapper(*args,**kwargs):
name = input('请输入你的名字>>: ').strip()
password = input('请输入你的密码>>: ').strip()
if name == 'zjl' and password == '123':
func(*args,**kwargs)
return wrapper
@auth
def my_log(name):
print('%s欢迎登陆'%(name))
my_log('zjl')