如何添加将类实例添加到列表

时间:2018-09-16 16:52:27

标签: python list class

我正在尝试在课堂上变得更好。我想将多辆汽车(具有车牌号和时间等属性(用于安全凸轮))添加到列表中。我实际上已经在使用它,但是现在突然不起作用了,我也不知道发生了什么。

class CarID:
  def __init__(self, camera, cartime, plate):
    self.camera = camera
    self.plate = plate
    self.cartime = cartime

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

  def addCar(self, car):
    self.cars.append(car)

主程序:

def make_lists_cars(data):
  car_list = Cars()
  with open(data, newline='') as f:
    f = f.readlines()
    for line in f[2:-2]:
        car = line.split("\t") 
        camera = car[0]
        cartime = car[1]
        plate = car[2]
        car_list.addCar(CarID(camera, cartime, plate))
  return car_list


data = 'verkeer.txt'
car_list = make_lists_cars(data)
print(Cars().cars)

这给我一个空白列表。汽车变量看起来都像['1','09:01:53','2-ABC-32 \ n']。我实际上想列出具有属性的汽车。 我几个小时前就开始工作了,但是后来我想添加第二个列表,现在它停止工作了:(。 另外我还必须返回car_list,还是没有必要?

谢谢

1 个答案:

答案 0 :(得分:3)

Cars().cars正在从cars的新实例访问属性Cars。您代码的最后一行中的Cars()刚刚被初始化,并且没有CarId对象被添加到cars的{​​{1}}属性中。而是从Cars()的返回结果中查找cars

make_lists_cars