从字典中动态构建类属性

时间:2015-09-02 19:33:04

标签: python

我想动态构建类属性。

# Code  
label = Label();  
label.port = 'JTAG';  ##works  

# Attribute name in a variable  
field_name = 'port';  
label.field_name = 'port'; ## do not work.  

# Foreign key mapping.    
label.foreign_key.port_name = 'port'; ## should work for foreign_key  

我不想在这里使用setattr,因为我将外键对象映射到此对象。外键setattr失败的地方。

最后,我想在动态构建类对象属性时插入'field_name'变量。请在不使用setattr的情况下告诉我这个方法。

1 个答案:

答案 0 :(得分:0)

以下方法可以解决问题:

label.__dict__[field_name] = 'port' 

自定义类实例的所有属性都在内部存储为字典obj.__dict__