Python ООП передача экземпляра класса

class Ingredient(object):

    def __init__(self, name, weight, cost):
        self.name = name
        self.weight = weight
        self.cost = cost

class Pizza(object):

    def __init__(self, name):

        self.name = name



cream = Ingredient('Сыр', 50, 250)

Как передать экземпляр класса Ingredient(сream) в класс Pizza и работать там с ним ?


Ответы (1 шт):

Автор решения: Alexander Chernin

Также как и любой другой параметр, можно передать и объект пользовательского типа/класса. Например, так:

class Pizza(object):

    def __init__(self, name):
        self.name = name
        # Массив для ингредиетов
        self._ingredients = []

    # Метод для добавления ингредиентов
    def append(self, ingredient):
        self._ingredients.append(ingredient)

Далее, где-то в другом месте мы можем создать и добавить ингредиет в Пиццу:

# Создаем пиццу
pizza = Pizza('Peperonni')
# Создаем ингредиент
peperone = Ingredient('peperone', 10, 1) # ...Цена указана в рублях :)

# Добавлеям игредиент к пицце
pizza.append(peperone)
→ Ссылка