Python doc字符串打印\ n而不是新行(Mac上的Python 2.7.5)

时间:2013-08-08 23:16:33

标签: python macos docstring

所以这就是我正在输入的内容

>>> list = [1,2,3]
>>> list.__doc__
"list() -> new empty list\nlist(iterable) -> new list initialized from iterable's items"

问题在于它字面上打印“\ n”而不是打印新行,使得更复杂的doc字符串几乎无法读取。

我尝试过的所有其他内置类都会发生同样的事情。

我打开它时从python获取的版本信息是:     Python 2.7.5(默认,2013年7月16日,14:23:29)     [达尔文的GCC 4.2.1兼容的Apple LLVM 4.2(clang-425.0.28)]

1 个答案:

答案 0 :(得分:8)

这是因为list.__doc__是一个字符串。

当您输入list.__doc__时,您将获得如下内容:

>>> list.__doc__
"list() -> new empty list\nlist(iterable) -> new list initialized from iterable's items"

但是,如果您输入print list.__doc__

>>> print list.__doc__
list() -> new empty list
list(iterable) -> new list initialized from iterable's items

因此,print函数正确格式化字符串以包含换行符。

希望有所帮助:)