Как использовать один объект из отдельного класса в методе другого класса? - PullRequest
0 голосов
/ 31 января 2019

Начинающий, пожалуйста, потерпите меня.Я пытаюсь вызвать объект из одного класса в метод другого.Но я получаю ошибку «отсутствует 1 обязательный позиционный аргумент:».И когда я играю с кодом, я не подхожу ближе к решению.

Я удалил «self» из метода для выравнивания рутинной работы, но затем self.workload не определен.Затем я добавил объект дважды (ch1, ch1) и получил сообщение об ошибке. Chore объекта не имеет атрибута «рабочая нагрузка».Я играл с (w1, ch1) и получил ошибку, что у Workload нет атрибута рабочей нагрузки.

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 голосов
/ 01 февраля 2019

Да, как сказал Даниэль, вы не создали экземпляр Workload.Также в init вы используете self для инициирования рабочей нагрузки и totalchore, тогда, поскольку вы не получаете его для параметра, эти переменные никуда не денутся.

0 голосов
/ 31 января 2019

Вы не создали экземпляр Workload.

w1 = Workload()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...