如何使用字典键、值对来设置类实例属性“pythonic”?

Cor*_*tty 4 python dictionary class-instance-variables

我创建了一些 Python 类用作多元数据结构,然后将它们用于各种任务。在某些情况下,我喜欢用各种值集填充类。默认参数文件名“ho2.defaults”看起来像这样:

name = 'ho2'
mass_option = 'h1o16'
permutation = 'odd'
parity = 'odd'
j_total = 10
lr = 40
br = 60
jmax = 60
mass_lr = 14578.471659
mass_br = 1781.041591
length_lr = ( 1.0, 11.0, 2.65 )
length_br = ( 0.0, 11.0, 2.46 )
use_spline = True
energy_units = 'au'
pes_zpe = -7.407998138300982E-2
pes_cutoff = 0.293994
Run Code Online (Sandbox Code Playgroud)

目前,我通过从文件中读取所需的键、值对来创建字典,现在我想要一种“pythonic”方式使这些字典键成为类实例变量名称,即

# Instantiate Molecule Class
molecule = Molecule()

# Create Dictionary of default values
default_dict = read_dict_from_file(filename)

# Set populate class instance variables with dictionary values
for key,value in default_dict:
    molecule.key = value
Run Code Online (Sandbox Code Playgroud)

因此,类的实例变量“molecule.name”可以使用字典键值对进行设置。我可以手动完成此操作,但我确信有更好的方法来循环它。实际上,字典可能很大,我宁愿允许用户选择他们想要填充的值,这样字典就可以改变。我在这里缺少什么?

Jos*_*h J 5

您可以使用setattrsetattr(molecule, key, value)