程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了“对象没有__dict__,因此您不能将任意属性分配给对象类的实例。”大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决“对象没有__Dict__,因此您不能将任意属性分配给对象类的实例。”?

开发过程中遇到“对象没有__Dict__,因此您不能将任意属性分配给对象类的实例。”的问题如何解决?下面主要结合日常开发的经验,给出你关于“对象没有__Dict__,因此您不能将任意属性分配给对象类的实例。”的解决方法建议,希望对你解决“对象没有__Dict__,因此您不能将任意属性分配给对象类的实例。”有所启发或帮助;

您正在__Dict__@H_696_4@将 类型 与实例上的属性混淆。object()@H_696_4@ 实例 没有__Dict__@H_696_4@属性:

 >>> object().__Dict__
TraceBACk (most recent call last):
  @R_419_6852@ "<stdin>", line 1, in <module>
AttributeError: 'object' object has no attribute '__Dict__'
@H_696_4@

请注意,__Dict__@H_696_4@自定义Python类实例的属性是描述符 ;实例本身不具有属性,而是提供该属性的类(因此type(instancE).__Dict__['__Dict__'].__get__(instancE)@H_696_4@返回)。object.__Dict__@H_696_4@可能存在,但object.__Dict__['__Dict__']@H_696_4@不存在。

object()@H_696_4@不支持实例属性,因为它是所有自定义Python类的基础,该类在定义slot时必须支持不具有__Dict__@H_696_4@属性。

解决方法

来自https://docs.python.org/3.3/library/functions.html#object

为什么“object@H_696_4@没有__Dict__@H_696_4@”?这个对我有用

>>> object.__Dict__
mappingproxy({'__repr__': <slot wrapper '__repr__' of 'object' objects>,'__hash__': <slot wrapper '__hash__' of 'object' objects>,'__subclasshook__': <method '__subclasshook__' of 'object' objects>,'__ne__': <slot wrapper '__ne__' of 'object' objects>,'__format__': <method '__format__' of 'object' objects>,'__new__': <built-in method __new__ of type object at 0xa3dc20>,'__doc__': 'The most base type','__class__': <attribute '__class__' of 'object' objects>,'__dir__': <method '__dir__' of 'object' objects>,'__delattr__': <slot wrapper '__delattr__' of 'object' objects>,'__getattribute__': <slot wrapper '__getattribute__' of 'object' objects>,'__le__': <slot wrapper '__le__' of 'object' objects>,'__init__': <slot wrapper '__init__' of 'object' objects>,'__gt__': <slot wrapper '__gt__' of 'object' objects>,'__ge__': <slot wrapper '__ge__' of 'object' objects>,'__eq__': <slot wrapper '__eq__' of 'object' objects>,'__reduce__': <method '__reduce__' of 'object' objects>,'__lt__': <slot wrapper '__lt__' of 'object' objects>,'__str__': <slot wrapper '__str__' of 'object' objects>,'__reduce_ex__': <method '__reduce_ex__' of 'object' objects>,'__sizeof__': <method '__sizeof__' of 'object' objects>,'__setattr__': <slot wrapper '__setattr__' of 'object' objects>})
@H_696_4@

为什么“您不能为object@H_696_4@该类的实例分配任意属性”?

大佬总结

以上是大佬教程为你收集整理的“对象没有__dict__,因此您不能将任意属性分配给对象类的实例。”全部内容,希望文章能够帮你解决“对象没有__dict__,因此您不能将任意属性分配给对象类的实例。”所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。