说我有一个dict:
d = {
'eggs': 4,
'cheese': 6,
'coconuts': 8,
}
Run Code Online (Sandbox Code Playgroud)
是否可以遍历字典,创建以键命名的变量,为它们分配相应的值?
eggs = 4
cheese = 6
coconuts = 8
Run Code Online (Sandbox Code Playgroud)
或者也许在一个物体内?
self.eggs = 4
self.cheese = 6
self.coconuts = 8
Run Code Online (Sandbox Code Playgroud)
这可能吗?
>>> d = {
... 'eggs': 4,
... 'cheese': 6,
... 'coconuts': 8,
... }
>>> globals().update(d)
>>> eggs
4
>>> cheese
6
>>> coconuts
8
>>> d
{'cheese': 6, 'eggs': 4, 'coconuts': 8}
Run Code Online (Sandbox Code Playgroud)
但对于课程来说,它更容易(更安全),只需使用:
for item, value in d.items():
setattr(some_object, item, value) #or self.setattr(item, value)
Run Code Online (Sandbox Code Playgroud)