类和实例化对象的属性字典的一点总结

本文源于一个关于修改类属性的错误,错误提示表明不能直接以某种方式修改类属性。通常,我们通过实例方法来改变实例的数据属性。文章探讨了如何正确修改实例化对象的属性内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题来源是一个报错

class ggg:
    pass
print(ggg.__dict__)
ggg.__dict__["ffff"]=6

报错:

Traceback (most recent call last):
{'__module__': '__main__', '__dict__': <attribute '__dict__' of 'ggg' objects>, '__weakref__': <attribute '__weakref__' of 'ggg' objects>, '__doc__': None}
  File "C:/Users/Administrator/PycharmProjects/lianxi1/lianxi1-1/练.py", line 17, in <module>
    ggg.__dict__["ffff"]=6
TypeError: 'mappingproxy' object does not support item assignment

总结:不能以class名.__dict__["属性名]=属性值的方式来修改类属性
一般而言通过class名.属性名=属性值的方式修改数据属性
原因暂无

另总结修改实例化对象属性内容如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值