Ошибка object has no attribute

Написал такую программу. Не пойму почему выходит ошибка AttributeError: 'CellPhone' object has no attribute '_CellPhone__retail_price' Вот программа

Класс CellPhone содержит данные о сотовом телефоне.

class CellPhone:

    # Метод init инициализирует атрибуты.

    def __init__(self, manufact, model, price):
        self.__manufact = manufact
        self.__model = model
        self.__price = price

    # Метод set_manufact принимает аргумент для
    # производителя телефона.

    def set_manufact (self, manufact):
        self.__manufact = manufact

    # Метод set_model принимает аргумент для
    # номера модели телефона.

    def set_model (self, model):
        self.__model = model

    # Метод set_retail_price принимает аргумент для
    # розничной цены телефона.

    def set_retail_price(self, price):
        self.__retail_price = price

    # Метод get_manufact возвращает
    # производителя телефона.

    def get_manufact(self):
        return self.__manufact

    # Метод get_model возвращает
    # номер модели телефона.

    def get_model(self):
        return self.__model

    # Метод get retail_price возвращает
    # розничную цену телефона.

    def get_retail_price(self):
        return self.__retail_price

Эта программа тестирует класс CellPhone.

import cellphone


def main():
    
    # Получить данные о телефоне.
    man = input('Введите производителя: ')
    mod = input('Ведите номер: ')
    retail = int(input('Введите розничную цену: '))

    # Создать экземпляр класса CellPhone
    phone = cellphone.CellPhone(man, mod, retail)

    # Показать введенные данные.
    print('Вот введенные вами данные: ')
    print('Производитель:', phone.get_manufact())
    print('Номер модели: ', phone.get_model())
    print('Розничная цена: $', phone.get_retail_price(), sep='')

main()

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

Автор решения: CrazyElf
    def __init__(self, manufact, model, price):
        self.__manufact = manufact
        self.__model = model
        self.__price = price
             ^^^^^^^

...

    def get_retail_price(self):
        return self.__retail_price
                    ^^^^^^^^^^^^^^

Вы выставляете поле self.__price, а читаете self.__retail_price. А set_ методы, где имя поля правильное, вы в этом коде не используете.

→ Ссылка