新學了幾個python模組,不是很雞肋。
阿新 • • 發佈:2018-11-30
先說一個模組分類(基本上所有模組都是小寫開頭,雖然規範的寫法是變數的命名規範,但是,都是這樣寫的)
1,C編寫並鑲嵌到python直譯器中的內建模組
2,包好的一組模組的包
3.已經被編譯好的共享庫,或者是DLL的C或者是C++擴充套件
4,自己用python寫好的程式碼
用模組就是為了能重用程式碼,就是為了功能更加強大,更加的快.
collection模組
注意了,這個collection
這個模組提供出了幾種新的資料型別
namedtuple : 生成可以使用名字來訪問元素內容的tuple
deque:雙端佇列,可以快速的從另外一側追加或者推出物件
Counter:計數器,主要用於計數
OrderedDict:有序字典
defaultdict:帶有預設值的字典
from collection import nametuple
point = namedtuple("point",["x","y"])
p=point(1,2)
print(p.x)#通過類與屬性的建立連線
deque
用list存資料的時候,按照索引訪問元素很快,但是要刪除或者插入元素很慢,就是因為list是線性的儲存,當資料量大的時候
改一個位置,就會影響別的位置。
所以就有了更加高效的刪除和插入更加方便的雙向列表,適合於佇列和棧
from collections import deque #匯入包中模組
q = deque(["a","b","c"]) #例項化一個雙向列表物件
q.append("x") #預設是從右端加入
q.appendleft("y")
print(q)
>>deque(["y","a","b","c","x"])
刪除或者新增都是特別的方便的appendleft(),還有 popleft().從頭或者是從尾部新增刪除都特別的方便的
OrderedDict
使用dict時候,Key都是無序的。在dict做迭代的時候,就沒有辦法了
這個OrderedDict就是保持有序的的Key
from collections import OrderedDict
d = dict([("a",1),("c",3),("b",2)])
這裡的key是無序的
od = OrderedDict([("a",1),("b",2),("c",3)])
print(od)
OrderedDict的key是有序的
defaultdict
counter
時間模組
常用方法:time.sleep(secs) (執行緒)推遲指定的時間執行,按秒計算時間 time.time()獲取時間戳 三種時間型別:格式化時間字串,結構化時間,時間戳 時間字串: time.strftime(%Y-%m-%d %X)