2015-02-11 115 views
-2

请记住,我是编程初学者。 我做了下面的一段代码,它不起作用。我认为它与创建room1实例有关。 下面的代码:Python:我如何用字典创建一个类的实例?

class Location:  
def __init__ (self, name, description, location, **actions): 
    self.name = name 
    self.description = description 
    self.location = location 
    self.actions = actions 

def test (self): 
    self.actions = actions 
    print (actions) 
    x = type(actions) 
    print (x) 

room1 = Location("Bedroom","First Room",1,S="Search", M="Move") 
room1.test() 
+0

“它不起作用”**如何**不起作用? – 2015-02-11 19:35:46

+0

它说:NameError:name'actions'未定义 – 2015-02-11 19:42:50

回答

0

你需要把字典这样:

Location("Bedroom", "First Room", 1, {"S":"Search", "M":"Move"}) 

编辑:

好了,所以我看到的东西是你走错了。

你想改变你的测试方法是这样的:

def test (self): 
    print (self.actions) 
    x = type(self.actions) 
    print (x) 

你不需要重新分配self.actions的方法,它已经被初始化。

+0

它表示无效的语法 – 2015-02-11 19:42:15

+1

尝试使用上述更正的语法。 – 2015-02-11 19:44:21

+0

TypeError:__init __()需要4个位置参数,但有5个被给出 – 2015-02-11 19:45:42

相关问题