python - 根据类的字符串名称创建类的实例

标签 python

有没有一种方法可以使用字符串(在我的例子中是从文件中读取的)来查找名称与字符串匹配的类,然后创建该类的实例。例如:

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/

相关文章:

python - 使用抓取的数据填充 MySQL 表

python - 将 C 转换为 Python

python - 如何指定 Python 包的外部系统依赖项?

python - 如何从字符串中去除尾随数字

python - 将字符串方程式转换为整数答案

python - 循环数据帧列表并执行操作

python - 为什么 Python 的 float 会为一些非常长的输入引发 ValueError?

python - 在Python中执行与不同软件相关的命令时使用什么语句?

python - 获取与 dict python 中的键关联的值的计数

python - 在 numpy 数组 Python 中提取列的特定范围