1. 程式人生 > >python闖關_Day07

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