1. 程式人生 > >python中的序列(sequence)

python中的序列(sequence)

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

id值不變表明可序列化自增後還是同個物件.