python作業6
阿新 • • 發佈:2018-12-12
6.現有以下函式,利用裝飾器為此函式加上認證功能,也就是隻有使用者名稱為'python', 密碼為'123'才能呼叫此函式,否則不允許
def my_log(name):
print('%s歡迎登陸'%(name))
#7.6 import functools def decorator(f): @functools.wraps(f) def wrapper(*args, **kw): s = input('請輸入使用者名稱:') if s != 'python': print('輸入錯誤')return -1 s = str(input('請輸入密碼:')) if s != '123': print('輸入錯誤') return -1 return f(*args, **kw) return wrapper @decorator def my_log(name): print('%s歡迎登陸'% name) my_log('ty')
7.利用裝飾器為函式加上統計執行時間的功能。
提示 time模組中的time()函式可以獲取當前時間
#7.7 import time import functools def decorator(f): @functools.wraps(f) def wrapper(*args, **kw): global t1 t1 = time.time() f(*args, **kw) t2 = time.time() t = t2 - t1 print('函式執行時間為%ss'% t) return 0 return wrapper @decoratordef millonman(): i = 0 for i in range(10000000): i += 1 millonman()