import time
# 裝飾器的架子
def timer(func):
start_time = time.time()
func()
stop_time = time.time()
print("函式執行時間%s"%(stop_time-start_time))
def test():
time.sleep(2)
print("函式執行完畢..")
語法糖語法
import time# 裝飾器的架子
def timer(func):
start_time = time.time()
res = func()
stop_time = time.time()
print("函式執行時間%s"%(stop_time-start_time))
return res
@timer # @timer相當於 test = timer(test)
def test():
time.sleep(2)
print("函式執行完畢..")
return "test()"
res = test()
print(res)
def decorator(func):
uname = input("請輸入使用者名稱:")
pwd = input("請輸入密碼:")
if (uname=="張飛" and pwd == "123"):
res = func(*args, **kwargs)
return res
else:
print("使用者名稱或密碼錯誤")
@decorator
def index():
print("welcome to jd");
@decorator
def home(name):
print("welcome to home, %s"%name)
@decorator
def shopping_car(name):
print("%s的購物車都有啤酒,平板電腦"%name)
#index()
#home("張飛")
shopping_car("張飛")
user_list = [,,,
]login_user =
def loadmeth(loadtype="oracle"):
print("first",loadtype)
def decorator(func):
print("second", loadtype)
print("loadtype:",loadtype)
# 如果使用者已經登入過,則不用再次輸入使用者名稱 密碼
if login_user["username"] and login_user["login"]:
res = func(*args, **kwargs)
return res
uname = input("請輸入使用者名稱:")
pwd = input("請輸入密碼:")
for index, user_dic in enumerate(user_list):
if (user_dic["name"]==uname and user_dic["passwd"] == pwd):
login_user["username"] = uname
login_user["login"] = true
res = func(*args, **kwargs)
return res
print("使用者名稱或密碼錯誤")
return decorator
@loadmeth() #帶引數的裝飾器不是太明白. 為什麼@loadmeth()和@loadmeth是不同的結構
def index():
print("welcome to jd");
@loadmeth()
def home(name):
print("welcome to home, %s"%name)
@loadmeth()
def shopping_car(name):
print("%s的購物車都有啤酒,平板電腦"%name)
print(index)
print(home)
index()
print(home)
home("趙雲")
shopping_car("趙雲")
print(login_user)
(二十三)直譯器模式
定義 直譯器模式 interpreter 給定乙個語言,定義它的文法的一種表示,並定義乙個直譯器,這個直譯器使用該表示來解釋語言中的句子。interpreter.cpp 定義控制台應用程式的入口點。include stdafx.h include include using namespace st...
直譯器模式(二十三)
直譯器模式 interpreter pattern 是一種按照規定語法進行解析的方案,例如解析四則運算 sql語句等,現在專案中使用較少,其定義如下 給定一門語言,定義它的文法的一種表示,並定義乙個直譯器,該直譯器使用該表示來解釋語言中的句子。1.abstractexpression 抽象直譯器 具...
python 學習筆記(二十三)
coding utf8 author liwei import re python正則的應用,math方法判斷正則是否匹配成功 print 正則簡單用例 text hello liwei is 25 if re.match r w s w s w s d text print ok else pri...