1.裝飾器 代碼: import time def timer(func): #timer(test1) def deco(*args,**kwargs): # *args是為了裝飾不同的函數,因為有的函數是需要傳參數,有的不需要 start_time=time.time() res=func(*a ...
1.裝飾器
代碼:
import time def timer(func): #timer(test1) def deco(*args,**kwargs): # *args是為了裝飾不同的函數,因為有的函數是需要傳參數,有的不需要 start_time=time.time() res=func(*args,**kwargs) #run test1() stop_time=time.time() print("the func run time is %s" %(stop_time-start_time)) return res return deco #這裡返回deco函數的記憶體地址,方便後面調用 @timer #test1=timer(test1) #執行timer(test1)返回的是deco的記憶體地址, #將它賦值給test1就可以得到deco函數的值 def test1(): time.sleep(3) print('in the test1') test1()View Code
2.內置方法:
print(all([1,-5,0]))#判斷元素不為0或空,只要有一個含0就為假 print(any([])) #判斷元素是否為空 print(ascii('開始'))#把一個數據對象變成字元串的對象 print(bin(5))#將數字轉為2進位 print(bool([0,3]))#判斷元素不為0或空,只有有一個以上不為0元素就為真 print(bytes("abcde",encoding="utf-8")) print(chr(100))#返回ascii碼的對應表的字元 print(ord("d"))#返回字元對應的ascii碼 # dict()生成字典 print(divmod(5,3)) #返回 餘數,商 #eval()字元串變成字典 print(hex(14))#十進位轉為16進位 print(oct(17))#十進位轉為8進位 print(round(1.5454,3))#選擇保留幾位小數 #slice切片 a={6:2,5:0,2:0,3:2} print(sorted(a.items()))#按照指定的方式排序 print(type(a))#查看對象的數據類型 A=[1,2,3,4,5,6] B=['a','b','c','d'] for i in zip(A,B):# 拉鏈 print(i)View Code
3.生成器並行
import time def consumer(name): print("%s 準備吃包子啦!" %name) while True: baozi = yield print("包子[%s]來了,被[%s]吃了!" %(baozi,name)) # c=consumer("wang") # c.__next__() def producder(name): c=consumer('A') c2=consumer('B') c.__next__() c2.__next__() print("老子開始準備做包子啦!") for i in range (10): time.sleep(1) print("做了1個包子,分兩半!") c.send(i) c2.send(i) producder("wang")View Code