• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
孙龙 程序员
少时总觉为人易,华年方知立业难
博客园    首页    新随笔    联系   管理    订阅  订阅
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

  

值不变表明可序列化自增后还是同个对象.

本文来自博客园,作者:孙龙-程序员,转载请注明原文链接:https://www.cnblogs.com/sunlong88/articles/9384925.html

posted on 2018-07-29 12:23  孙龙-程序员  阅读(3117)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3