這篇文章主要是爲了讓本身記住字典不是序列,python中序列的類型html
有個朋友問我,什麼是序列化,我瞬間懵了,而後查了一下,發現廖雪峯老師給出了一個很舒服的解釋:
序列化:咱們把變量從內存中變成可存儲或傳輸的過程稱之爲序列化,在Python中叫pickling,在其餘語言中也被稱之爲serialization,marshalling,flattening等等,都是一個意思。
反序列化:反過來,把變量內容從序列化的對象從新讀到內存裏稱之爲反序列化,即unpickling。python
從概念能夠得出,字典確定不是序列,否則就能夠直接寫入文件存儲了。翻譯
這是官方文檔中的解釋,對應的連接地址點這兒code
翻譯過來大概意思就是:
一個可迭代對象,它支持經過__getitem__()特殊方法使用整數索引高效地訪問元素,並定義了一個__len__()方法,該方法返回序列的長度。一些內置的序列類型是list、str、tuple和bytes。注意,dict也支持__getitem__()和__len__(),但它被認爲是一個映射,而不是一個序列,由於查找使用任意不可變鍵,而不是整數。htm
collections.abc.Sequence抽象基類定義了一個比__getitem__()和__len__()更豐富的接口,增長了count(),index(),__contains__(),和__reversed__()。能夠使用register()顯式註冊實現此擴展接口的類型。對象