Python 为什么我的实例变量不在dict中?
如果我创建一个类Python 为什么我的实例变量不在dict中?,python,Python,如果我创建一个类a,如下所示: class A: def __init__(self): self.name = 'A' 检查\uuu dict\uuu成员看起来像{'name':'A'} 但是,如果我创建一个类B: class B: name = 'B' \uuuu dict\uuuu为空 这两者之间有什么区别,为什么name不出现在B的\uuu dict\uuuu中?B.name是类属性,而不是实例属性。它显示在B.uuu dict_uuu中,但不显示在B
a
,如下所示:
class A:
def __init__(self):
self.name = 'A'
检查\uuu dict\uuu
成员看起来像{'name':'A'}
但是,如果我创建一个类B
:
class B:
name = 'B'
\uuuu dict\uuuu
为空
这两者之间有什么区别,为什么
name
不出现在B
的\uuu dict\uuuu
中?B.name
是类属性,而不是实例属性。它显示在B.uuu dict_uuu
中,但不显示在B=B()中;b、 _uuudict_uuu
这种区别有些模糊,因为当您访问实例上的属性时,类dict是一种后备方法。因此,在上面的示例中,b.name
将为您提供b.name
的值
class A:
def _ _init_ _(self):
self.name = 'A'
a = A()
在类型为a的对象实例a上创建属性,因此可以在以下位置找到该属性:a.。\uuuu dict\uuuu
class B:
name = 'B'
b = B()
在类B上创建一个属性,该属性可以在B中找到。或者,如果您有类型B的实例B,您可以在B中看到类级别的属性。类
class B:
name = 'B'
b = B()