TypeError:“列表”对象不可调用-类编码

时间:2019-10-14 19:00:20

标签: python-3.x computer-science

我正在尝试用python编写类。我认为我的问题的答案可能非常简单,但是我对代码的了解是新的:

The Actual Code

Once run

我没有发现任何错误,我错过了一些简单的事情吗?

2 个答案:

答案 0 :(得分:0)

方法名称和列表名称都是动作。当其初始化的self.actions(方法)被self.actions(列表)替换时。列表不可调用

class Troll:
    def __init__(self):
        self.name = ''
        self.phrases = ['Pass the ball','SHOOT']
        self.available_actions = ['passes the ball','shoots']
    def speak(self):
        print(self.name, "shouts", random.choice(self.phrases))
    def actions(self):
        print(self.name,"decides to", self.available_actions)

答案 1 :(得分:0)

在您的情况下,方法名将覆盖变量名,因为两者相同。因此,请更改方法名称或变量名称。