Python3,一次创建一个类的多个对象

时间:2017-08-14 19:04:28

标签: python python-3.x class object

我想一次创建多个具有不同名称的对象。

例如

class Car:
    def __init__(self, color):
        self.color = color

我需要在程序首次运行时创建n个对象

car_1 = Car("blue")
car_2 = Car("Red")
#...
car_n = Car("color_n")

有没有办法在python3中执行此操作?我尝试过的所有事情只是创建一个对象并更改其名称或过度使用对象信息o在运行时失败。我不能使用exec()或eval()

由于

额外: 我之前需要这个东西,因为每当我运行程序来处理它时,我都需要存储n个客户端的信息(该信息存储在.csv文件中)。 我是否需要做我之前提到的事情,还是有其他方法来处理这种数据管理?

1 个答案:

答案 0 :(得分:0)

您可以按列表理解

创建Cars对象列表
class Car:
    def __init__(self, color):
        self.color = color
    def __repr__(self):
        return '{}({!r})'.format(self.__class__.__name__, self.color)

colors=['red', 'blue', 'green',]
cars_objects = [Car(color) for color in colors]
print(cars_objects)

返回

[Car('red'), Car('blue'), Car('green')]
Car Class中的

__repr__函数创建了一个更具可读性的&#34; (和可解析的)Car对象的表示,而不是&#34; <__main__.Car object at 0x7f5b38a2c400>&#34;