Skip to main content
 首页 » 编程设计

python之将字符串的值视为 .. 属性名称

2025年05月04日20小虾米

假设我有一个dict:

d = { 
    'eggs': 4, 
    'cheese': 6, 
    'coconuts': 8, 
} 

是否可以遍历字典,创建以键命名的变量,并为它们分配相应的值?

eggs = 4 
cheese = 6 
coconuts = 8 

或者可能在对象内部?

self.eggs = 4 
self.cheese = 6 
self.coconuts = 8 

这可能吗?

请您参考如下方法:

>>> d = { 
...     'eggs': 4, 
...     'cheese': 6, 
...     'coconuts': 8, 
... } 
>>> globals().update(d) 
>>> eggs 
4 
>>> cheese 
6 
>>> coconuts 
8 
>>> d 
{'cheese': 6, 'eggs': 4, 'coconuts': 8} 

但是对于类来说,它更容易(更安全),只需使用:

for item, value in d.items(): 
     setattr(some_object, item, value) #or self.setattr(item, value)