- Электронная коммерция: этот класс содержит список всех доступных продуктов.
- Пользователь: этот класс обрабатывает действия, специфичные для пользователя, например добавление товаров в корзину.
Список продуктов хранится в классе ECommerce, и мне нужно сверить ввод пользователя с этим списком в классе User.
Я не хочу передавать объект электронной коммерции в качестве позиционного аргумента каждый раз, когда я вызываю метод в классе User. . Вместо этого я хочу сделать программу более интерактивной, сохранив экземпляр ECommerce один раз и обращаясь к нему при необходимости.
Код: Выделить всё
class ECommerce:
def __init__(self):
self.products = {"Laptop": 10, "Phone": 20, "Tablet": 5}
def get_products(self):
return self.products
class User:
def __init__(self, name):
self.name = name
self.cart = {}
# How can I access the product list from the ECommerce class here?
def add_to_cart(self):
# I want to compare user input with the products in the ECommerce class.
product_name = input("Enter the product name: ")
# How can I check if the product_name is in the ECommerce products list?
Когда пользователь вызывает add_to_cart, ему предлагается ввести данные, и его ввод сверяется со списком продуктов в класс ECommerce.
Я хочу избежать передачи экземпляра ECommerce в качестве аргумента методу add_to_cart при каждом его вызове. Вместо этого мне нужен простой и многоразовый способ соединения двух классов.
Как это реализовать?
Подробнее здесь: https://stackoverflow.com/questions/792 ... itional-ar
Мобильная версия