class ClassA: pass
mytype = type(ClassA)
使用mytype,你如何创建一个ClassA的实例?创建一个实例,我已经有了类型
请注意,我不寻找这是我的答案:)
instance = ClassA()
我知道,在这个例子中,这就是你需要做的,但假设你有这种类型(MYTYPE) ,你对它一无所知,你需要创建它的一个实例。
我试着只调用mytype(),它返回一个错误,指出该类型()需要1或3个参数。我想这些参数可能与你想要传入正在创建的对象的init方法的任何参数有关。
注意:我已经看到一些关于如何创建一个给定一个字符串来表示其完全限定名的对象的问题。请注意,在这里,我已经有一个类型,所以它有点不同?我认为?
编辑...我希望我可以做以下.NET代码相当于:
class A {}
class Program
{
static void Main(string[] args)
{
Type type = typeof(A);
// Given the type, I can create a new instance
object new_instance = Activator.CreateInstance(type);
}
}
我曾以为,在Python中,类(ClassA的)给了东西回来,我可以在以后使用创建ClassA的一个实例。看起来我误解了Python中的类型。
MYTYPE =类型(ClassA的)会给你一个类的对象。我怀疑这不是你的意思。 –
这就是我的意思,我认为:)如果这有助于澄清任何事情,请参阅我的.Net上面的编辑。 –