我正在使用 Spyder IDE(Mac OS 上的 v.2.1.11)并编写一些代码,并在为函数编写 DocString(NumpyDoc 格式)时,无法弄清楚为什么 Spyder Object Inspector会在这种奇怪的方式。
对于像下面这样的 Docstring,“ Calc'd by sellmeier ... ”之后的论文参考是indented ,这会导致奇怪的行为:
def AlInGaAs(x, wl):
'''
Returns the refractive index of ~Al(x)Ga(1-x)In(1-x-y)As (lattice-matched to InP) at the specified wavelength, wl (in microns) and Aluminum content (x=0.0-1.0).
For lattice-matching, the actual mole ratio, x, is defined as so:
InP-matched X: (Al48 In52 As)_X --> (Ga47 In53 As)_1-X
Valid for wavelengths: 0.900 - 2.100 um & x: 0.3 - 1.0
Calc'd by sellmeier equation, with params from
M. J. Mondry, D. I. Babic, J. E. Bowers, and L. A. Coldren, "Refractive indexes of (Al,Ga,In)As epilayers on InP for optoelectronic applications," Phot. Tech. Lett., vol. 4, no. 6, pp. 627-630, 1992
Parameters
----------
x: float
Mole ratio of Al, as in: Al(x) Ga(1-x) In(1-x-y) As. Also varies In slightly for lattice-matching.
wl: float
wavelength in microns.
...
'''
上面的 DocString 产生以下输出(Spyder“对象检查器”/帮助面板的屏幕截图),在“ MJ Mondry,DI Babic ... ”文本上带有意外的粗体和缩进/列表编号:
删除缩进时,如下所示:
def AlInGaAs(x, wl):
'''
Returns the refractive index of ~Al(x)Ga(1-x)In(1-x-y)As (lattice-matched to InP) at the specified wavelength, wl (in microns) and Aluminum content (x=0.0-1.0).
For lattice-matching, the actual mole ratio, x, is defined as so:
InP-matched X: (Al48 In52 As)_X --> (Ga47 In53 As)_1-X
Valid for wavelengths: 0.900 - 2.100 um & x: 0.3 - 1.0
Calc'd by sellmeier equation, with params from
*** INDENT REMOVED BELOW ***
M. J. Mondry, D. I. Babic, J. E. Bowers, and L. A. Coldren, "Refractive indexes of (Al,Ga,In)As epilayers on InP for optoelectronic applications," Phot. Tech. Lett., vol. 4, no. 6, pp. 627-630, 1992
Parameters
----------
x: float
Mole ratio of Al, as in: Al(x) Ga(1-x) In(1-x-y) As. Also varies In slightly for lattice-matching.
wl: float
wavelength in microns.
...
'''
看起来很正常,如下:
这只是 Spyder 中的一个错误,还是其他一些缩进的预期用途?应该如何使用(或不使用)缩进在 Spyder IDE 中生成各种类型的格式(我假设是 NumpyDoc 格式)?我在NumpyDoc 文档页面
上没有看到任何关于缩进和自动列表的讨论。
只是想知道是否有一些有用的未记录的 DocString 功能我可以在这里利用。(另一方面,我确实注意到我可以使用 DocString 中的“参考”部分,我将在某个时候将 Ref 移动到该部分。)
谢谢!
我的版本如下:Spyder v2.1.11, Python 2.7.6, Qt 4.8.4, PyQt4 (API v2) 4.9.6 on Darwin, Mac OS 10.10.2