python中的类和对象在内存中是如何保存的?

类以及类中的方法在内存中只有一份,而根据类创建的每一个对象都在内存中需要存一份,

类中的数据属性被其所有的实例所共享(如果实例中没有初始化此属性的话),大致如下图:

 

如上图所示,根据类创建对象时,对象中除了封装 name 和 age 的值之外,还会保存一个类对象指针,该值指向当前对象的类。

当通过 obj1 执行 【方法一】 时,过程如下:

  1. 根据当前对象中的 类对象指针 找到类中的方法
  2. 将对象 obj1 当作参数传给 方法的第一个参数 self
posted @ 2020-04-10 21:12  Solost23  阅读(2407)  评论(0编辑  收藏  举报