Вот класс Customer:Доступ к элементам списков, и называя их Fuctions
class Customer:
def __init__(self, timestamp, cid, item_count):
self.time_stamp = timestamp
self.customer_name = cid
self.item_count = item_count
def checkout(self, new_timestamp):
self.time_stamp = new_timestamp
def get_cus_name(self):
return self.customer_name
Если я создаю пустой список объектов клиентов, таких как:
customers = [Customer]
А потом где-то еще, что я пытаюсь позвонить Методы клиентов в цикле:
def checkout_customer(self, cid):
for cus in self.customers:
if cus.get_cus_name == cid:
cus.checkout(self.cur_num_customers + 7)
Почему я получаю сообщение об ошибке при попытке вызвать cus.checkout? Мой идеал говорит мне, что он ожидает Клиента, но получил int. Почему он не переходит в «я» здесь?
Однако, если я просто создать объект клиента и непосредственно вызывать его методы, он отлично работает:
def foo(self):
cus = Customer(1,'pop',2)
cus.checkout(23)
Это мой первый раз обучения питон, и ив застрял, пытаясь выяснить, списки, и получить доступ к его члены. Возможно, моя инициализация self.custormers = [Customer]
неверна?
EDIT:
В моем конструктор класса тестер создать пустой список, как это:
self.customer = [Customer]
Я могу не добавить клиентов нет проблем:
def add_custormer(self, customer):
self.customers.append(customer)
Моя проблема заключается не добавляя клиентов, но получая доступ к их методам, когда они находятся в списке. Делать что-то вроде этого self.customers [0] .checkout (1, 'pop', 2) дает мне ошибку «Ожидаемый тип« Клиент »получил int».
Это не список клиентов, это список ссылок на самом класс Customer. –
Да, ваша инициализация списка 'customers' была неправильной. Вы просто разместили «список» класса «Клиент» внутри списка, его не настоящий клиент. Вы должны сделать что-то вроде 'self.customers = [Customer (1232144234, 123, 2)]' – dopstar