如何在Python中找到导入函数的位置?

Ste*_*oss 11 python module

我有一个带有函数的Python模块:

  == bar.py ==
  def foo(): pass
  == EOF ==
Run Code Online (Sandbox Code Playgroud)

然后我将它导入全局命名空间,如下所示:

from bar import *
Run Code Online (Sandbox Code Playgroud)

所以现在foo我可以使用该功能.如果我打印它:

print foo
Run Code Online (Sandbox Code Playgroud)

口译员高兴地告诉我:

 <function foo at 0xb7eef10c>
Run Code Online (Sandbox Code Playgroud)

有没有办法让我发现这个功能foo来自模块bar

Wim*_*Wim 20

foo.__module__ 应该回来 bar

如果您需要更多的信息,你可以得到它sys.modules['bar'],它__file____package__属性可能是有趣.