метод для преобразования объекта в словарь
у меня есть класс Product()
class Product:
__max_id = 0
def __init__(self, name: str,
ves: int,
category:str,
price: int,
srok_godnosti: int,
volume: int):
self.id = Product.__max_id #ID
self.name = name #Имя
self.ves = ves #Вес
self.category = category #Категория
self.price = price #Цена
self.godnost = srok_godnosti #Срок годности
self.volume = volume #Объём
Product.__max_id += 1
def __str__(self):
return (
f'ID: {self.id}<br>'
+ f'Name: {self.name}<br>'
+ f'Ves: {self.ves} грамм<br>'
+ f'Category: {self.category}<br>'
+ f'Price: {self.price} рублей<br>'
+ f'Godnost: {self.godnost} дней<br>'
+ f'Volume: {self.volume} миллилитров<br>'
)
И мне нужно создать в классе Product()
метод для преобразования объекта в словарь, где названия атрибутов объекта будут ключами (то есть ключи являются строками, вы пишите их сами), а значения этих атрибутов значениями генерируемого словаря.
Для примера можно взять объект: Product('Milk', 1500, 'Products', 67, 7, 1000)
Дальше мне нужно
Преобразовать все объекты списка в словари(с помощью ранее созданного метода). Далее требуется создать еще один словарь, в котором ключами будут названия категорий товаров, а значениями списки товаров, подходящих под эту категорию(атрибут category равен категории, с которой мы работаем).
Список у нас такой:
products = [Product('Milk', 1500, 'Products', 67, 7, 1000),
Product('', '', '', '', '', ''),
Product('Chips', 150, 'Products', 103, 100, None),
Product('Butter', 450, 'Products', 327, 21, None),
Product('Lemon', 40, 'Products', 17, 62, None)]
А дальше
Создать метод в классе
Product()
по сохранению словаря в json файл. Путь json файла просто можно указать'Путь_файла'