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
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/95144.html
標籤:Python
上一篇:python學習之路-day3
