Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何检查定义了哪个模块的函数?python_Python_Python 3.x - Fatal编程技术网

如何检查定义了哪个模块的函数?python

如何检查定义了哪个模块的函数?python,python,python-3.x,Python,Python 3.x,如何检查函数属于哪个模块? 像 将返回math等等,如果有的话 函数有一个\uuuuu模块属性: >>> from math import sqrt >>> sqrt.__module__ 'math' 可以使用获取给定对象的实际模块对象: >>> from inspect import getmodule >>> getmodule(sqrt) <module 'math' from '/Users/mj/Deve

如何检查函数属于哪个模块? 像


将返回
math
等等,如果有的话

函数有一个
\uuuuu模块
属性:

>>> from math import sqrt
>>> sqrt.__module__
'math'
可以使用获取给定对象的实际模块对象:

>>> from inspect import getmodule
>>> getmodule(sqrt)
<module 'math' from '/Users/mj/Development/Library/buildout.python/python-3.4/lib/python3.4/lib-dynload/math.so'>
来自inspect import getmodule的
>>
>>>获取模块(sqrt)

inspect.getmodule()
不仅仅适用于函数和类;根据给定对象上的元数据,它将经过一段时间来查找该对象的模块。

函数有一个
\uuuu module\uuu
属性:

>>> from math import sqrt
>>> sqrt.__module__
'math'
可以使用获取给定对象的实际模块对象:

>>> from inspect import getmodule
>>> getmodule(sqrt)
<module 'math' from '/Users/mj/Development/Library/buildout.python/python-3.4/lib/python3.4/lib-dynload/math.so'>
来自inspect import getmodule的
>>
>>>获取模块(sqrt)

inspect.getmodule()
不仅仅适用于函数和类;根据给定对象上的元数据,它将经过一段时间为该对象找到一个模块。

对于我(
Python2.7.3
>>getmodule(math.sqrt)
返回
@g4ur4v:
math
是一个C扩展模块,它既可以编译为动态加载的库,也可以成为Python二进制文件本身的一部分。看起来您的已编译为Python二进制文件<代码>内置的只是意味着:没有单独的文件名。@g4ur4v getmodule(math.sqrt)假设您已经知道模块“math”,而不是这里的情况。@AbdullahLeghari:即使如此,结果也不会有任何不同;当然,只要回显
math
也会得到同样的输出。通常最好避免“from”导入-这就消除了问题。对我来说(
python2.7.3
>>getmodule(math.sqrt)
返回
@g4ur4v:
math
是一个C扩展模块,它既可以编译为动态加载的库,也可以成为Python二进制文件本身的一部分。看起来您的已编译为Python二进制文件<代码>内置的
只是意味着:没有单独的文件名。@g4ur4v getmodule(math.sqrt)假设您已经知道模块“math”,而不是这里的情况。@AbdullahLeghari:即使如此,结果也不会有任何不同;当然,只要回显
math
也会给出相同的输出。通常最好避免“从”导入,这样就消除了问题。