我在Python中创建一个类,并希望将字典作为参数传递给 init 并将其复制到实例变量。像这样:
class foo:
def __init__(self, dictionary):
self.copy = dictionary
但由于某种原因它没有传递字典,也许只是它的类型?例如,当我在 init 中尝试打印(字典)时,它只会打印" class' dict'"而不是实际的字典。不知道为什么会这样,我非常感谢任何帮助!
答案 0 :(得分:1)
我猜你没有在构造函数中给出一个dict实例:
class foo:
def __init__(self, dictionary):
self.copy = dictionary
print(dictionary)
>>> f=foo({})
{}
>>> f=foo({'key': 'value'})
{'key': 'value'}
>>> f=foo(dict)
<type 'dict'>
答案 1 :(得分:0)
适合我的工作
# foo.py
class Foo(object):
def __init__(self, dictionary):
self.copy = dictionary
print dictionary
dict_object = Foo({"mykey": "myvalue"})
运行它:
$ python foo.py
{'mykey': 'myvalue'}