有没有一种方法可以使用字符串(在我的例子中是从文件中读取的)来查找名称与字符串匹配的类,然后创建该类的实例。例如:
class FirstClass:
def __init__(self, arg1):
self.arg = arg1
values = ','.split('FirstClass', 'argument')
# need the magic for this:
values[0](*values[1:])
当然,使用 values[0]
在那里不起作用,因为它是一个字符串,而不是一个类。有没有办法自动将字符串转换为那里的类?特别是如果我有很多类并且无法事先知道要实例化哪个类,例如从 CSV 中读取值并希望正确的类来处理一行。
最佳答案
您可以分别使用 locals()
或 globals()
按名称访问变量。在您的情况下,这将这样工作:
locals()[values[0]](*values[1:])
关于python - 根据类的字符串名称创建类的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30471997/