假设我想生成一个类的多个实例(例如Car
类)。
我有一个我需要在列表中使用的变量名:
cars = ['Mustang', 'Camaro', 'Challenger']
如何循环遍历cars
列表并创建Car
类的实例,其变量名称为cars
列表中的字符串。
基本上与:
相同Mustang = Car()
Camaro = Car()
Challenger = Car()
我意识到动态创建变量是不受欢迎的,但是我使用它来为研究中的每个参与者创建一个类的实例,因此我在列表中有他们的ID号并希望使用此ID号作为变量类实例的名称。
答案 0 :(得分:1)
试试这个希望它会有所帮助:https://repl.it/OAQv
class Car:
pass
module_name = __import__('sys').modules[__name__]
setattr(module_name, 'Mustang', Car())
setattr(module_name, 'Camaro', Car())
setattr(module_name, 'Challenger', Car())
print(Mustang)
print(Camaro)
print(Challenger)
使用字符串列表
动态创建类的实例class Car:
pass
module_name = __import__('sys').modules[__name__]
cars = ['Mustang', 'Camaro', 'Challenger']
for car in cars:
setattr(module_name, car, Car())
print(Mustang)
print(Camaro)
print(Challenger)