如何使用其字符串名称在python中设置属性

dav*_*ave 1 python

可能重复:
如何以编程方式在Python中设置属性?

嘿,这是一个愚蠢的问题:我怎样才能在字符串中设置一个对象属性.我有一个字典传递给我,我希望使用如下代码将其值转换为同名属性:

    for entry in src_dict:
          if entry.startswith('can_'):
              tgt_obj[entry] = src_dict_profile[entry]
Run Code Online (Sandbox Code Playgroud)

我仍然是一个Python的菜鸟,所以会很感激一些帮助. - 戴夫

Den*_*gan 12

setattr(some_object, 'some_attribute', 42);
Run Code Online (Sandbox Code Playgroud)

  • 拜托,没有分号.:-D (3认同)
  • 这不使用 @property.setter 函数,但它......你将如何通过它设置属性? (2认同)

Han*_*Gay 6

听起来像你在寻找setattr.

例:

for entry in src_dict:
      if entry.startswith('can_'):
          setattr(tgt_obj, entry, src_dict_profile[entry])
Run Code Online (Sandbox Code Playgroud)