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
值不变表明可序列化自增后还是同个对象.
本文来自博客园,作者:孙龙-程序员,转载请注明原文链接:https://www.cnblogs.com/sunlong88/articles/9384925.html