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

2024-06-13 03:01:11 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我想生成一个类的多个实例(例如,Car类)

我有一个列表中需要使用的变量名:

cars = ['Mustang', 'Camaro', 'Challenger']

如何循环遍历cars列表并创建变量名为cars列表中字符串的Car类的实例

基本上与以下操作相同:

Mustang = Car()
Camaro = Car()
Challenger = Car()

我意识到动态创建变量是不受欢迎的,但是我用它来为研究中的每个参与者创建一个类的实例,因此我在一个列表中列出了他们的ID号,并希望使用这个ID号作为类实例的变量名


Tags: 实例字符串id列表参与者carcars动态创建
1条回答
网友
1楼 · 发布于 2024-06-13 03:01:11

试试这个,希望对你有帮助: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)

相关问题 更多 >