Только начал изучать классы. Пытаюсь добавить экземпляр одного класса в список экземпляра другого класса. На выходе получаю:
Traceback (most recent call last):
File "C:\Users\Ace\Desktop\Python\Классы\Класс RetailItem\#test ver2.py", line 23, in
main()
File "C:\Users\Ace\Desktop\Python\Классы\Класс RetailItem\#test ver2.py", line 17, in main
operation.purchase_item(obj)
File "C:\Users\Ace\Desktop\Python\Классы\Класс RetailItem\CashRegister_ver2.py", line 9, in purchase_item
list.append(obj)
TypeError: descriptor 'append' for 'list' objects doesn't apply to a 'RetailItem' object
Что делаю не так и как исправить?
Исходный код:
#Класс RetailItem(розничная товарная единица)
class RetailItem:
def __init__(self, description, number, price):
self.__description = description
self.__number = number
self.__price = price
def set_number(self, number):
self.__number = number
def get_number(self, number):
return self.__number
def get_price(self):
return self.__price
def __str__(self):
return "Описание: " + self.__description + \
"\nКол-во на складе: " + self.__number + \
"\nЦена: " + self.__price
#CashResister(кассовый аппарат)ver2
import RetailItem as rt
class CashRegister:
def __init__(self, total): #инициализация
self.__total = total
self.__lst = []
def purchase_item(self, obj): #приобрести товар
self.__lst.append(obj)
def __str__(self):
return str(self.__list_price)
#main()
import RetailItem as ri
import CashRegister_ver2 as cr
def main():
print("Добро пожаловать в кассу")
print("Готовы совершить покупки Д/Н ?")
stop = input(':')
total = 0
lst = []
operation = cr.CashRegister(total)
while stop.upper() == "Д":
name = input("Введите товар:")
count = input("Введите кол-во для покупки:")
price = input("Введите цену за еденицу:")
obj = ri.RetailItem(name, count, price)
operation.purchase_item(obj)
print("Желаете продолжить Д/Н ?")
stop = input(':')
print(operation)
main()