2011-08-19 6 views
7

したがって、\nがドキュメント文字列に現れるときに、Python関数function.__doc__のヘルプ/情報を出力しようとすると、改行を出力する代わりにコンソール出力が表示され、\nが出力されます。誰もがこれを無効/助けて私を助けることができますか?コンソールのPython改行表示

これが私の出力です:

'divmod(x, y) -> (div, mod)\n\nReturn the tuple ((x-x%y)/y, x%y). Invariant: div*y + mod == x.' 

私は出力がなりたいもの:

'divmod(x, y) -> (div, mod) 

    Return the tuple ((x-x%y)/y, x%y). Invariant: div*y + mod == x.' 

P.S:私は、Python 2.7とOS X、Ubuntuの上でこれを試してみました。

答えて

16

あなたはインタラクティブシェルのオブジェクトを検査したように見えますが、印刷されていません。あなたが印刷を意味するなら、それを書いてください。

>>> "abc\n123" 
"abc\n123" 
>>> print "abc\n123" 
abc 
123 

python 3.xでは、printは普通の関数なので、()を使う必要があります。 (推奨)次は2.xおよび3.xの両方で動作します:

>>> from __future__ import print_function 
>>> print("abc\n123") 
abc 
123 
+0

はいを​​使用することをお勧め。だから私が理解しているところでは、 '\ n'を '認識'するために、[function] .__ doc__とタイプするだけで印刷物を使うべきですか? – armundle

+0

はい。それはまた引用符を残すでしょう。 –

3

あなたは(たとえば)help(divmod)の代わりdivmod.__doc__を使用することがより便利かもしれません。

1
In [6]: print divmod.__doc__ 
divmod(x, y) -> (div, mod) 

Return the tuple ((x-x%y)/y, x%y). Invariant: div*y + mod == x. 

が、私はあなたが

In [8]: help(divmod) 

またはIPYTHON

In [9]: divmod? 
Type:  builtin_function_or_method 
Base Class: <type 'builtin_function_or_method'> 
String Form:<built-in function divmod> 
Namespace: Python builtin 
Docstring: 
divmod(x, y) -> (div, mod) 

Return the tuple ((x-x%y)/y, x%y). Invariant: div*y + mod == x. 
関連する問題