Как получить доступ к списку из одного класса в другом классе без использования позиционных аргументов в Python?Python

Программы на Python
Ответить
Anonymous
 Как получить доступ к списку из одного класса в другом классе без использования позиционных аргументов в Python?

Сообщение Anonymous »

Я создаю интерактивное приложение для электронной коммерции на Python и хочу, чтобы пользователи могли добавлять товары в корзину. У меня есть два класса:
  • Электронная коммерция: этот класс содержит список всех доступных продуктов.
  • Пользователь: этот класс обрабатывает действия, специфичные для пользователя, например добавление товаров в корзину.
Вот моя проблема:
Список продуктов хранится в классе 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»