python中的反射

2024-04-29 03:58:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在python中找到一些关于反射的信息。我在维基百科上找到了一篇文章,其中给出了一段代码:

# without reflection
Foo().hello()

# with reflection
getattr(globals()['Foo'](), 'hello')()

我没能让这个工作起来。我真正需要的是一种只实例化对象的方法。所以如果我有一个字符串'Foo',我希望能够得到一个Foo类型的对象。就像在爪哇,我可以说:类forName(“Foo”)

刚找到这个…奇怪为什么我以前找不到这个: Does python have an equivalent to Java Class.forName()?


Tags: 对象实例方法字符串代码信息hellofoo
1条回答
网友
1楼 · 发布于 2024-04-29 03:58:16

What I really need is a way to just instantiate the object.

这就是globals()['Foo']()部分的作用。在

这对我很有用:

>>> class Foo:
...   def __init__(self): print "Created a Foo!"
...
>>> globals()['Foo']()
Created a Foo!
<__main__.Foo instance at 0x02A33350>
>>>

相关问题 更多 >