Наследование классов.

Diglerharibo

Новичок
Пользователь
Авг 17, 2020
21
1
3
Памагити исправить ошибку при использовании экземпляра класса в качестве атрибута. Я не очень могу понять как я должен организовать класс Function, чтобы я мог использовать функции внутри этого класса вместе с экземпляром класса. Вроде я делаю все по инструкции, но у меня вылезает ошибка то из-за ошибок при определении аргументов везде, то из-за отсутствия атрибута hard в объекте function. Надеюсь я нормально объяснил вопрос... Внимательно слежу за вопросом...

Python 3.8.3
Windows 10

Python:
class Class():
    def __init__(self, one, two, three):
        self.one = one
        self.two = two
        self.three = three
    
    def Sum(self):
        x = self.one + self.two + self.three
        print(x)
        
class Function():
    def __init__(self):
        
        def hard(self):
            z = self.one*self.two*self.three
            print(z)
        
class SubClass(Class):
    def __init__(self, one, two, three, four):
        super().__init__(one, two, three)
        self.four = four
        self.Function = Function()
            
    def Minus(self):
        y = (self.one + self.two) - self.four
        print(y)

first = SubClass(4, 3, 2, 1)
first.Sum()
first.Minus()
first.Function.hard()
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Вот исправленный вариант:
Python:
class Class():
    def __init__(self, one, two, three):
        self.one = one
        self.two = two
        self.three = three

    def Sum(self):
        x = self.one + self.two + self.three
        print(x)


class Function():
    def __init__(self, one, two, three):
        self.one = one
        self.two = two
        self.three = three

    def hard(self):
        z = self.one * self.two * self.three
        print(z)


class SubClass(Class):
    def __init__(self, one, two, three, four):
        super().__init__(one, two, three)
        self.four = four
        self.Function = Function(self.one, self.two, self.three)

    def Minus(self):
        y = (self.one + self.two) - self.four
        print(y)


first = SubClass(4, 3, 2, 1)
first.Sum()
first.Minus()
first.Function.hard()
 
  • Мне нравится
Реакции: Diglerharibo

Diglerharibo

Новичок
Пользователь
Авг 17, 2020
21
1
3
Спасибо большое, я всё понял!
 
Последнее редактирование:

Форум IT Специалистов