因此,在iPython terminal
中,如果键入一个后面跟着??
的方法,您将获得源代码及其位置:
In [1]: import numpy as np
In [2]: np.angle??
Source:
@array_function_dispatch(_angle_dispatcher)
def angle(z, deg=False):
z = asanyarray(z)
if issubclass(z.dtype.type, _nx.complexfloating):
zimag = z.imag
zreal = z.real
else:
zimag = 0
zreal = z
a = arctan2(zimag, zreal)
if deg:
a *= 180/pi
return a
File: ~/Documents/venv_global/lib/python3.8/site-packages/numpy/lib/function_base.py
Type: function
如果不输入iPython
,我将如何找到源代码的位置(+方法的行号(。
PS:(为了可读性,从输出中删除了docstring(。
编辑:
我正在寻找一个可以运行的子命令,它可以在不需要输入shell的情况下提供信息。虽然不确定这是否可能,但它看起来像这样:
ipython --source numpy.angle
您看到的是一个文档字符串和源文档以及文件路径:
import inspect
import numpy as np
print(np.angle.__doc__)
print('Source:')
print(inspect.getsource(np.angle))
print('File:')
print(inspect.getsourcefile(np.angle))
print('Type:')
print(type(np.angle))
上面的代码打印了您从iPython中的??
获得的文档字符串、源文件路径和类型。