python中的序列
- 可變序列
list、bytearray、array.array、collections.deque 和 memoryview。 - 不可變序列
tuple、str 和 bytes。
序列圖
箭頭指向的是父類,從圖中可以看出:
1. 序列是可迭代的,繼承了__iter__的方法,在系統可迭代描述中,所有的序列都是可迭代對象,是因為他繼承了__iter__,
2. 可變序列MutableSequence就是多加了append,remove等增刪改查的方法,其中有一個方法是__iadd__,該方法表示可變序列可以自增(用+=運算時會調用__iadd__方法),
list1和list2是一個可變序列,如list,代碼 如下
list2 = [1] list1 = [2,3] print(id(list1)) # 1 list1 += list2 print(list1) # 2 print(id(list1)) # 3 result: 1:2752481250184 2:[2, 3, 1] 3:2752481250184
值不變表明可序列化自增后還是同個對象.