如何在另一个类的方法中使用来自单独类的一个对象?

时间:2019-01-31 19:30:45

标签: python oop methods

初学者,所以请忍受我。我试图从一个类调用一个对象到另一个方法。但是我收到“缺少1个必需的位置参数:”错误。当我玩代码时,我离解决方案也越来越近了。

我从方法中删除了“ self”以使其与琐事对齐,但是未定义self.workload。然后,我将该对象添加了两次(ch1,ch1),并收到一个错误消息,错误Chore'对象没有属性'workload'。我在玩(w1,ch1)时遇到了错误,即工作负载没有属性工作负载。

class Chore:

    def __init__ (self, ch_name, value=1, completion=True):
        self.ch_name = ch_name
        self.value = value
        self.completion = completion    

class Workload:

    def __init__ ():
        self.workload = []
        self.totalchores = 0


    def add_chore (self,chore):
        self.workload.append(chore)
        self.totalchores+=1

ch1=Chore('pick up')
w1=Workload
w1.add_chore(ch1)

我希望将c1附加到一个空列表中。

TypeError:add_chore()缺少1个必需的位置参数:“ chore”

2 个答案:

答案 0 :(得分:2)

您没有实例化工作负载。

w1 = Workload()

答案 1 :(得分:1)

是的,正如Daniel所说,您没有实例化Workload。同样,在 init 中,您正在使用self来启动工作量和总琐事,然后,由于您没有收到它的参数,这些变量将毫无用处。