我有当前的代码:
class Stock:
def __init__(self,name,price):
self.name = name
self.price = price
name='MSFT'
price=100
obj1= Stock(name,price)
但是这仅适用于创建类的单个实例,如果我有一个包含数百个名称的列表,如何创建对象变量名称并初始化它们呢?
答案 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
>>>