Python. Создать объект класса Product и вывести все его атрибуты

Рейтинг: 0Ответов: 1Опубликовано: 25.02.2023
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

На скорую руку можно так:

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 объекта предлагаю отказаться, т.к. все ячейки списков имеют свой порядковый индекс, от него и отталкивайтесь.