python中的序列(sequence)

python中的序列

  • 可变序列
    list、bytearray、array.array、collections.deque 和 memoryview。
  • 不可变序列
    tuple、str 和 bytes。

序列图

python中的序列(sequence)_第1张图片
箭头指向的是父类,从图中可以看出:
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值不变表明可序列化自增后还是同个对象.

你可能感兴趣的:(python之路)