为了账号安全,请及时绑定邮箱和手机立即绑定

如何以编程方式设置属性?

如何以编程方式设置属性?

暮色呼如 2019-07-02 10:10:36
如何以编程方式设置属性?假设我有一个python对象x和一根绳子s,如何设置属性s在……上面x?因此:>>> x = SomeObject()>>> attr = 'myAttr'>>> # magic goes here>>> x.myAttr'magic'有什么魔力?顺便提一句,这样做的目的是将调用缓存到x.__getattr__().
查看完整描述

3 回答

?
红糖糍粑

TA贡献1815条经验 获得超6个赞

setattr(x, attr, 'magic')

寻求帮助:

>>> help(setattr)Help on built-in function setattr in module __builtin__:setattr(...)
    setattr(object, name, value)

    Set a named attribute on an object; setattr(x, 'y', v) is equivalent to    ``x.y = v''.

编辑:但是,您应该注意(正如注释中所指出的),您不能对object..但是,您可能有一个简单的对象子类,它可以很好地工作。我强烈敦促O.P.永远不要制造这样的对象。


查看完整回答
反对 回复 2019-07-02
?
弑天下

TA贡献1818条经验 获得超8个赞

如果x是一个对象,那么您可以用两种方法来完成它

x.attr_name = s 
setattr(x, 'attr_name', s)


查看完整回答
反对 回复 2019-07-02
  • 3 回答
  • 0 关注
  • 502 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信