当前位置: 首页 > 面试题库 >

如何通过__dict__分配新的类属性?

卫兴邦
2023-03-14
问题内容

我想通过字符串对象分配类属性-但是如何?

例:

class test(object):
  pass

a = test()
test.value = 5
a.value
# -> 5
test.__dict__['value']
# -> 5

# BUT:
attr_name = 'next_value'

test.__dict__[attr_name] = 10
# -> 'dictproxy' object does not support item assignment

问题答案:

为此有一个内置函数:

setattr(test, attr_name, 10)

参考:http :
//docs.python.org/library/functions.html#setattr

例:

>>> class a(object): pass
>>> a.__dict__['wut'] = 4
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'dictproxy' object does not support item assignment
>>> setattr(a, 'wut', 7)
>>> a.wut
7


 类似资料:
  • Any逻辑:这应该很简单,但我只是在帮助文件中找不到它...在创建一个新的代理实例时,我们知道有四个参数以及它们是什么,但不知道它们是以什么顺序定义的。假设参数是“type_of_car”(字符串)、“number_of_pax”(整数)、“自动”(布尔值)、“fuel_capacity”(双精度)。现在调用时:代理被创建为具有55 pax、手动和5升燃料容量的ford——这都是错误的。(似乎代理

  • 问题内容: 我已经编写了一个枚举类,我想按类型获取属性或按属性获取类型,但这似乎是不可能的。 上面的代码将无法编译。如何上班? 问题答案: 您需要做的就是添加一个默认情况,以便该方法始终返回某些内容或引发异常: 也许更好

  • 是否可以通过KeyClope REST API更新自定义属性的值?例如,要使用哪个endpoint,以及如何为此处创建的属性构造请求主体。 谢谢

  • 问题内容: 来自https://docs.python.org/3.3/library/functions.html#object 没有,因此您不能将任意属性分配给该类的实例。 为什么“没有”?这个对我有用 为什么“您不能为该类的实例分配任意属性”? 问题答案: 您正在将 类型 与实例上的属性混淆。 实例 没有属性: 请注意,自定义Python类实例的属性是 描述符 ;实例本身不具有属性,而是提供

  • 问题内容: 如何通过jQuery从CSS类访问属性?我有一个CSS类,如: 我需要对一个对象进行彩色动画处理: 这样我就可以从CSS 更改为,并且动画将按照CSS进行工作。 一种方法是在类中放置一个不可见的元素,然后获取要在动画中使用的元素的颜色,但是我想这是非常非常糟糕的做法。 有什么建议么? 问题答案: 我编写了一个小函数,该函数遍历文档上的样式表以查找匹配的选择器,然后查找样式。 需要注意的

  • 我正在尝试通过java运行jmeter。这些例子来自https://www.blazemeter.com/blog/5-ways-launch-jmeter-test-without-using-jmeter-gui 我上传了jmx文件,如示例中所述。 在jmx文件中,我有属性。指定的属性,如${uuuu属性(0个用户,0)} 我设法通过命令行使用-J参数上传了这个属性。 如何通过java指定参数