假设我想生成一个类的多个实例(例如Car
类)。
我有需要在列表中使用的变量名称:
cars = ['Mustang', 'Camaro', 'Challenger']
如何遍历cars
列表并创建一个Car
类的实例,变量名称是cars
列表中的字符串。
本质上与以下操作相同:
Mustang = Car()
Camaro = Car()
Challenger = Car()
我意识到动态创建变量是不受欢迎的,但是我使用它为研究中的每个参与者创建一个类的实例,因此我将他们的 ID 号放在一个列表中,并希望使用此 ID 号作为类实例的变量名称。
试试这个希望它有帮助: 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)