1. 程式人生 > >python作業6

python作業6

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 @decorator
def millonman(): i = 0 for i in range(10000000): i += 1 millonman()