【发布时间】:2011-04-04 07:15:37
【问题描述】:
这是我初始化类字典的代码:
class Directory:
def __init__(self, **kwds):
self.__dict__.update(kwds)
obj = Directory(name=dict())
在上述情况下,密钥是name,可以使用以下命令访问:
obj.__dict__.['name'] 或 obj.name
Q1.如何以键值作为变量的值来初始化类字典?
代码应该是这样的:
name = 'bin'
obj = Directory(name=dict()) #here I want the variable `name` to be replaced by its value i.e. `bin`
Q2.还有其他最佳的实现类的方法吗? (可能是__slots__)
谢谢!
【问题讨论】:
-
如果你保持原样,这无疑需要一些
eval的黑魔法。考虑改用setattr()。 -
谢谢雷夫。它服务于目的。如果我省略了 class 的使用,而只使用
obj = dict()会是一个好习惯吗?
标签: python dictionary