首页 新闻 会员 周边 捐助

'__dict__': <attribute '__dict__' of 'Person' objects>这是不是说明对象是字典容器,存属性;类是个模板

0
[已解决问题] 解决于 2025-08-07 11:28

'dict': <attribute 'dict' of 'Person' objects>这是不是说明对象是字典容器,存属性;类是个模板

_java_python的主页 _java_python | 小虾三级 | 园豆:984
提问于:2025-08-07 11:22
< >
分享
最佳答案
0

对象确实是字典容器存储属性,但❌ 类不仅是模板,还是一个更复杂的命名空间管理实体。

  1. 您看到的__dict__输出分析
    python
    class Person: pass
    print(Person.dict)
    输出内容中的关键部分:

python
'dict': <attribute 'dict' of 'Person' objects>
这表示:

Person类有一个特殊的__dict__描述符(descriptor)

维度 ---------------------类(Class)---------------------对象(Instance)
本质 ------------类型对象(type(元类)的实例)---------------类的实例
dict--------------存储类级属性(类变量/方法)------------存储实例级属性
内存结构 -------------更复杂的命名空间管理结构--------------确实是字典容器
继承查找------------------通过MRO链向上查找---------------先找自己的__dict__,再找类的
class Person:
species = 'Human' # 类属性

p = Person()
p.name = "Alice" # 实例属性

print("类__dict__:", Person.dict)
输出:包含species但不包含name

print("实例__dict__:", p.dict)
输出:{'name': 'Alice'} 没有species

_java_python | 小虾三级 |园豆:984 | 2025-08-07 11:25
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册