小编Śmi*_*gło的帖子

如何调用在文本变量中具有名称的类构造函数?[Python]

假设我们在全局命名空间中定义了一些可用的类。在示例中:

class Point:
    def __init__(self, x, y):
        self.x = x
        self.y = y

class Vector:
    def __init__(self, alpha, r):
        self.x = r * cos(alpha)
        self.y = r * sin(alpha)

# and many others...
Run Code Online (Sandbox Code Playgroud)

这个怎么做:

class_name = 'Point'
x = 14.361
y = -8.100
code_str = 'class_object = ' + class_name + '(' + str(x) + ', ' + str(y) + ')'

exec code_str  # That evaluates to: "class_object = Point(14.361, -8.100)"

print class_object.x, class_object.y
Run Code Online (Sandbox Code Playgroud)

不使用危险的执行程序?

附言。如果有人询问,我打算从某些 txt 或 json 文件加载数据。

python constructor exec

3
推荐指数
1
解决办法
3968
查看次数

标签 统计

constructor ×1

exec ×1

python ×1