一切皆为对象

《Python3高级核心技术97讲,bobby》学习笔记,第一章:一切皆对象概念、type/object/class之间的关系、内置对象。
378阅读 · 2020-6-6 22:42发布

1.1 python中一切皆对象

  • python中类、函数、代码和模块都是对象。
  • 类可以理解成是模板对象,用于生成真正的对象。
  • 对象的特点:
    • 可以被动态修改属性
    • 可以赋值给一个变量
    • 可以添加到集合对象中
    • 可以作为参数传递给函数
    • 可以当做函数的返回值

1.2 type、object和class之间的关系

  • type生成class,class生成对象,object是所有类的基类。
  • 类由type类生成。
  • object是最顶层的基类。
  • 类不显式继承时会默认继承object类。
  • object类的基类为空。

1.3 内置类型

对象的三个特征

  • 对象的身份:使用id()可以查看对象的地址,也可以理解为对象的身份。
  • 对象的类型:例如int、string。
  • 对象的值:被指向的内容。

对象的内置类型

  • None:解释器启动的时候用None类型生成None对象。(全局只有一个None)
  • 数值:int、float、complex(复数)、bool。
  • 迭代类型:可以被遍历。
  • 序列类型:list、bytes、range、tuple、str、array。
  • 映射(dict):包含key和value。
  • 集合:set和frozenset。性能非常高,适合in判断。
  • 上下文管理类型:with。
  • 其他:模块、class和实例、函数、方法、代码、object对象、type、elipsis、notimplemented。