Python. Создать объект класса Product и вывести все его атрибуты
class Products:
__ID = 1
def __init__(self, category, name, brend, ves, price):
self.id = Products.__ID
self.category = str(category) #привод
self.name = str(name) #имя
self.brend = str(brend) #марка
self.ves = int(ves) #вес
self.price = int(price) #цена
Products.__ID += 1
lada = [Products('полный', 'Грант', 'Лада', 1.4, 1.1),
Products('полный', 'Веста Кросс', 'Лада', 1.4, 1.1),
Products('полный', 'Веста', 'Лада', 1.4, 1.1),
Products('полный', 'Калина', 'Лада', 1.4, 1.1)]
Создал объект.Не знаю как вывести все его атрибуты(поля) Должно быть что-то похожее на
id : 1,2,3,4,5
name : Грант,Веста Кросс,Калина,Веста
category : ...
Ответы (1 шт):
Автор решения: John Dekker
→ Ссылка
На скорую руку можно так:
class Products:
__ID = 1
id = []
category = []
name=[]
brend=[]
ves=[]
price=[]
def __init__(self, array_):
for row in array_:
self.id.append (self.__ID)
self.category.append (str(row[0])) #привод
self.name.append (str(row[1])) #имя
self.brend.append (str(row[2])) #марка
self.ves.append ( int(row[3])) #вес
self.price.append ( int(row[4])) #цена
self.__ID += 1
def _print(self):
print (self.category)
lada = Products ((('полный', 'Грант', 'Лада', 1.4, 1.1),('полный', 'Веста Кросс', 'Лада', 1.4, 1.1),('полный', 'Веста', 'Лада', 1.4, 1.1),('полный', 'Калина', 'Лада', 1.4, 1.1)))
lada._print()
Сначала создаете объект вашего класса с передачей в него кортежа/списка автомобилей, а потом обращаетесь к объекту lada._print(), чтобы показать что вам нужно.
Можете поиграться с def _print(self) и вывести то, что вам нужно. От ID объекта предлагаю отказаться, т.к. все ячейки списков имеют свой порядковый индекс, от него и отталкивайтесь.