Thursday, August 4, 2022

How to instantiate a class in another class in Python

 Доступ ко всем атрибутам экземпляра или класса осуществляется через self, который передается в качестве первого аргумента всем методам. Поэтому правильно получать сигнатуру метода perform_multiply(self, a, b), а не просто perform_multiply(a, b), как в других языках.

Смотри пример кода на пайтон :

boris@boris-All-Series:~/CLASSFOO$ cat instantiateClass.py

import os


class FIRSTCLASS():

    def __init__(self):

        self.values = [1, 3, 5, 7, 9, 11]

    def perform_multiply(self, x, y):

        z = self.values[x] * self.values[y]

        print (self.values[x], self.values[y], z)


class SECONDCLASS():

    def __init__(self):

            # creating instance of FIRSTCLASS

            self.instFirst = FIRSTCLASS()

    def proc_second(self, a, b):

           self.instFirst.perform_multiply(a, b)


instSecond = SECONDCLASS()

i = int(input("Submit first multiplyer : "))

j = int(input("Submit second multiplyer : "))

instSecond.proc_second(i, j)

boris@boris-All-Series:~/CLASSFOO$ python3 instantiateClass.py

Submit first multiplyer : 2

Submit second multiplyer : 4

5 9 45

boris@boris-All-Series:~/CLASSFOO$ python3 instantiateClass.py

Submit first multiplyer : 2

Submit second multiplyer : 3

5 7 35

boris@boris-All-Series:~/CLASSFOO$ python3 instantiateClass.py

Submit first multiplyer : 3

Submit second multiplyer : 5

7 11 77
















No comments:

Post a Comment