python闯关_Day07

第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')

  

  

猜你喜欢

转载自www.cnblogs.com/marathoner/p/10258268.html