繁体   English   中英

使用字符串列表作为实例的变量名动态创建类的实例

[英]Dynamically creating instances of a class using list of strings as variable names for instances

可以说我想产生一个类的多个实例(例如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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM