手记

【九月打卡】第1天 Python体系补全

课程名称: python必学模块-collections
课程章节: 课程介绍 + tuple + namedtuple
课程讲师: bobby
课程内容:
主要讲Python collections模块

collection模块,最常用六大数据结构:deque,defaultdict,Counter,OrderedDict,ChainMap,这些是基础数据结构的高级结构,里面的功能非常好用,可以考虑优先使用

tuple:不可变元祖

特点:不可变、iterable

  • iterable:可迭代对象,__iter__魔法函数
  • 不可变:tuple[0] = xxx 会报错
    • 是相对的,不是绝对的
  • 比list好用:
    • immutable:性能优化、线程安全、可作为dict的key、拆包特性
      • key: hashable的对象,才能作为key
      • {xx_tuple:6}
    • 类似C中的struct

用法:

  1. 拆包
    xx_tuple = (1,2,3)
    a,b,c = xx_tuple
    a, *other = user_tuple

namedtuple:

  • 对于对象,可以通过点语法访问属性
    • User = namedtuple(“User”, [“name”,“age”])
    • user = User(name=“xxx”, age=6)
  • 定位:tuple的子类、相对class节省空间(适用于数据处理方面)
  • *的用法:*args, **kwargs的用途:
    • args: tuple的
    • kwargs:keyword参数
    • *:可以认为是解包tuple的意思
    • **:解包dict的意思
  • 好用的方法:
    • _asdict():转换为dict

defaultdict:

  • dict的方法:dict.setdefault(key, value) -> 如果key没出现过,则设置其对应value
  • defaultdict:设置了setdefault的dict
  • default_dict = defaultdict(int) # 默认值会为0
  • =defaultdict(函数名) # 这个自定义函数返回个dict,也行

课程收获:
补充到了一些日常比较少用的数据结构,还蛮有趣的。
明天继续学掉剩下的几个,之后开始研究量化啦。
嗯嗯!

0人推荐
随时随地看视频
慕课网APP