【发布时间】:2021-12-06 06:55:05
【问题描述】:
假设 Python 中的类层次结构如下:
class O:
variable = 0
class A(O):
variable = "abcdef"
class B(O):
variable = 1.0
class X(A, B):
pass
x = X()
当 X 的实例被创建时,Python 是为基类中的每个 变量 分配内存,还是只为解析的 变量 分配内存?
【问题讨论】:
-
这些都是类属性,所以它们是在类定义时创建并在所有实例之间共享,其中的2/3(
0作为一个小整数,"abcdef"作为类似标识符的字符串 - stackoverflow.com/a/24245514/3001761, stackoverflow.com/a/306353/3001761) 无论如何都会被 CPython 实习
标签: python python-3.x multiple-inheritance