Python创建了许多类实例

时间:2017-01-17 23:59:38

标签: python class oop object instance

我有当前的代码:

 class Stock:

    def __init__(self,name,price):

         self.name = name
         self.price = price

 name='MSFT'
 price=100
 obj1= Stock(name,price)

但是这仅适用于创建类的单个实例,如果我有一个包含数百个名称的列表,如何创建对象变量名称并初始化它们呢?

2 个答案:

答案 0 :(得分:5)

假设您有名单和价格表,您可以使用zip和列表理解:

names = ['A', 'B', 'C']
prices = [100, 200, 300]
objects = [Stock(name, price) for name, price in zip(names, prices)]

答案 1 :(得分:3)

我假设你指的是这个,你可能想要使用exec()

>>> class Stock:
...     def __init__(self, name, price):
...             self.name = name
...             self.price = price
... 
>>> name = 'MSFT'
>>> price = 100
>>> for i in range(10): exec("obj{} = Stock(name, price)".format(i))
... 
>>> obj1
<__main__.Stock object at 0x7ffaf5965e10>
>>> obj1.name
'MSFT'
>>> obj9.price
100
>>> obj0.price
100
>>> 
相关问题