将词典传递给__init __

时间:2016-07-15 02:03:38

标签: python dictionary

我在Python中创建一个类,并希望将字典作为参数传递给 init 并将其复制到实例变量。像这样:

class foo:
    def __init__(self, dictionary): 
        self.copy = dictionary

但由于某种原因它没有传递字典,也许只是它的类型?例如,当我在 init 中尝试打印(字典)时,它只会打印" class' dict'"而不是实际的字典。不知道为什么会这样,我非常感谢任何帮助!

2 个答案:

答案 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'}