我想知道如何在 Python 中为对象和函数名使用变量。在 PHP 中,您可以这样做:
$className = "MyClass";
$newObject = new $className();
你是如何在 Python 中做这种事情的?或者,我是否完全不了解与 Python 的一些根本区别,如果是,那是什么?
最佳答案
假设 some_module 有一个名为“class_name”的类:
import some_module
klass = getattr(some_module, "class_name")
some_object = klass()
我应该注意,在这里您应该小心:如果字符串来自用户,那么将字符串转换为代码可能会很危险,因此在这种情况下您应该牢记安全性。 :)
另一种方法(假设我们仍在使用“class_name”):
class_lookup = { 'class_name' : class_name }
some_object = class_lookup['class_name']() #call the object once we've pulled it out of the dict
后一种方法可能是最安全的方法,所以如果可能的话,你应该使用它。
关于python - 在 Python 中使用变量作为类名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/223559/