Привет, надеюсь, кто-нибудь сможет мне помочь, я новичок в этом, поэтому не уверен, что упускаю что-то очевидное. У меня есть класс Food, а затем подкласс для каждой категории продуктов питания.
Я хочу иметь dict в качестве переменной в каждом классе, которая записывает атрибут из каждого экземпляра класса. \В настоящее время я пытаюсь получить имя экземпляра и цену. Поэтому предпочтительно, чтобы каждый словарь внутри подкласса содержал имена и цены экземпляров этого класса, в то время как я хочу, чтобы тот же словарь в родительском классе содержал имена и цены экземпляров в каждом из подклассов.
Возможно ли это? Я предполагал, что так работает наследование, однако с попытками, которые я предпринял до этого момента, мне удалось добиться только того, чтобы каждый класс, включая подклассы и родительский класс, содержал каждое имя экземпляра и цену. из каждого класса.
Этого я не понимаю, поскольку не понимаю, как словарь класса Burger получает доступ к экземплярам из словаря класса Desserts?
Очень надеюсь, что кто-нибудь сможет помочь, поскольку я не знаю, как решить эту задачу, если это выполнимо в рамках классов.
class Food:
prices = {}
def __init__(self, product, price):
self.product = product
self.price = price
self.prices[self.product] = [self.price]
class Burger(Food):
pass
class Desserts(Food):
pass
#--->burger menu
burger_option_1 = Burger("burger option 1", 15)
burger_option_2 = Burger("burger option 2", 20)
burger_option_3 = Burger("burger option 3", 25)
#--->dessert menu
dessert_option_1 = Desserts("dessert option 1", 15)
dessert_option_2 = Desserts("dessert option 2", 20)
dessert_option_3 = Desserts("dessert option 3", 25)
print(f"Food.prices: {Food.prices}")
print(f"Burger.prices: {Burger.prices}")
print(f"Desserts.prices: {Desserts.prices}")
output:
Food.prices: {'burger option 1': [15], 'burger option 2': [20],
'burger option 3': [25], 'dessert option 1': [15], 'dessert option
2': [20], 'dessert option 3': [25]}
Burger.prices: {'burger option 1': [15], 'burger option 2': [20],
'burger option 3': [25], 'dessert option 1': [15], 'dessert option
2': [20], 'dessert option 3': [25]}
Desserts.prices: {'burger option 1': [15], 'burger option 2':
[20], 'burger option 3': [25], 'dessert option 1': [15], 'dessert
option 2': [20], 'dessert option 3': [25]}
Подробнее здесь: https://stackoverflow.com/questions/788 ... -having-th
Как записать атрибуты каждого экземпляра в переменную класса, при этом родительский класс записывает экземпляры всех кла ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение