написание функции класса, которая построит строку, содержащую всю информацию об объекте класса - PullRequest
0 голосов
/ 03 августа 2020

Я хочу написать метод класса и вызвать его dumpData, который построит строку, содержащую всю информацию об объекте. Я пробовал несколько кодов, но все, что я получил, это AttributeError: 'list' object has no attribute 'dumpData'

это код, который я написал до сих пор:

class Car(): 

    def __init__(self, brand, productionYear) 
        self.brand = brand
        self.productionYear = productionYear

    def dumpData(self,CarList1):
             return CarList1

 if __name__ =="__main__":
    carObject = []
    for i in range(10):
         carObjectList = []

         brand_list = ['kia', 'Hunday', 'BMW', 'Audi', 'Jeep']
         brand = random.choice(brand_list)

         productionYear = random.randint(1995, 2020)               
         carObject.append(Car(brand, productionYear))

         carObjectList.append(carObject)

  print(carObject.dumpData(carObjectList))

Я отредактировал этот вопрос, потому что он казался непонятным достаточно. заранее спасибо

1 Ответ

2 голосов
/ 03 августа 2020

Ваша ошибка говорит о том, что у вас есть объект списка, а не экземпляр вашего класса, для которого вы пытались вызвать свою функцию.

Я предлагаю сделать так, чтобы ваш класс действительно содержал список, а функция добавления принимала нужную информацию

В этот момент вам не нужен параметр для списка.

class Car():
  def __init__(self, brand, year):
    self.brand = brand
    self.year = year

  def __repr__(self):
     return self.brand + "," + str(self.year)

class CarList():
  def __init__(self):
    self.cars = []

  def dump(self):
    return str(self.cars)

  def add(self, brand, year):
    self.cars.append(Car(brand, year))

carList1 = CarList()
carList1.add('honda', 2009)

print(carList1.dump())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...