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

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

岳奇逸
2023-03-14
问题内容

假设我有一个python对象x和一个字符串s,如何将属性设置为son x?所以:

>>> x = SomeObject()
>>> attr = 'myAttr'
>>> # magic goes here
>>> x.myAttr
'magic'

魔术是什么?顺便说一下,这样做的目的是将对的调用缓存x.__getattr__()


问题答案:
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。但是很可能你有一个简单的对象子类,可以很好地工作。我强烈敦促OP不要创建这样的对象实例。



 类似资料:
  • 所以我需要为@Transactional注释设置timeout参数。这个属性将来自一个属性文件,我不能这样做,因为我遇到了“注释属性transactional.timeout的值必须是常量表达式”。像这样的东西

  • 问题内容: 我的问题很简单 如何以编程方式设置我的按钮layout_gravity? 我在互联网上找到了它,但它只是抛出了一个Nullpointer异常: 有什么办法吗? 问题答案: Java Kotlin 有关重力值以及如何设置重力,请检查“重力”。 基本上,您应该选择依赖于父项。可以是等等。

  • 问题内容: 如何确保从hibernate.cfg.xml加载所有属性,然后以编程方式添加其他属性?我看到了以下代码片段,但它看起来像是全新的配置,而不是现有配置的补充。 问题答案: 您显示的代码段是您所需要的。只需使用您现有的配置,而不是创建一个新的配置即可。 如果不是您实例化配置(例如,spring),则需要扩展创建它的类。

  • 问题内容: 这个问题类似于: jsf:在UI中绑定到inputtext的integer属性在提交时设置为零 但是我对解决方案并不完全满意。上下文是相同的:我有一个Web表单,需要一个Integer值。如果文本框为空,我希望我的Integer字段为“null”,但是EL Parser会自动将我的id字段设置为“ 0”。 我可以通过在本地Tomcat VM中设置JVM参数来解决此问题: -Dorg.a

  • 问题内容: 我正在使用来自Android百分比支持包的PercentRelativeLayout。这就是我的布局。 我想以编程方式更改高度。我该如何使用或其他方式进行操作。 问题答案: 您要设置一个新的百分比值吗?如果是,则需要:

  • 问题内容: 我有一个奇怪的问题。我试图以编程方式将dataSource分配给表。 我已使用界面生成器在ViewController中为其创建了一个和IBOutlet。我创建了一个实现的类。我将表的设置为dataSource的实例。一切都会编译并正常运行,直到设置dataSource的行在运行时执行。 错误是并且定义线突出显示。 有什么想法为什么我得到这个运行时错误?我正在Swift中使用XCode