python中的序列 可变序列 list、bytearray、array.array、collections.deque 和 memoryview。 不可变序列 tuple、str 和 bytes。 序列图 箭头指向的是父类,从图中可以看出: 1. 序列是可迭代的,继承了__iter
python中的序列
- 可变序列
list、bytearray、array.array、collections.deque 和 memoryview。 - 不可变序列
tuple、str 和 bytes。
序列图
箭头指向的是父类,从图中可以看出:
1. 序列是可迭代的,继承了__iter__的方法,在系统可迭代描述中,所有的序列都是可迭代对象,是因为他继承了__iter__,
2. 可变序列MutableSequence就是多加了append,remove等增删改查的方法,其中有一个方法是__iadd__,该方法表示可变序列可以自增(用+=运算时会调用__iadd__方法),
list1和list2是一个可变序列,如list,代码 如下
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
值不变表明可序列化自增后还是同个对象.