2016-08-29 4 views

答えて

6

the documentationは9月で区切り、最後に続いて、テキストストリームファイルにそう

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

印刷オブジェクトを言うので。 sep、end、およびfile(存在する場合)は、キーワード引数として指定する必要があります。

キーワード以外の引数はすべて、str()のように文字列に変換され、ストリームに書き込まれ、sepで区切られ、endで続きます。 sepとendの両方は文字列でなければなりません。 Noneにすることもできます。これはデフォルト値を使用することを意味します。 オブジェクトが指定されていない場合、print()endと書いてあります。

file引数は、write(string)メソッドを持つオブジェクトである必要があります。存在しない場合はsys.stdoutが使用されます。印刷された引数はテキスト文字列に変換されるので、print()はバイナリモードファイルオブジェクトでは使用できません。これらのために、代わりにfile.write(...)を使用してください。

出力がバッファされるかどうかは通常ファイルによって決まりますが、flushキーワードの引数がtrueの場合、ストリームは強制的にフラッシュされます。

バージョン3.3で変更されました:flushキーワード引数が追加されました。

endは、デフォルトで'\n'と改行されています。

1

Python 3では、printが関数になりました。文の最後に改行文字が印刷されます。

「終了」を指定しない場合、デフォルトでは改行文字が使用されます。言語がこの中でどのように異なるか

print("hello world", end="") 
1

それは興味深いです:

はあなたのような何かをすることによって、これを防ぐことができます。

printは、Kornシェル(ksh)の動作はpythonと同じです。つまり、改行が追加されます。 Bashはechoに頼っているprintを持っていません。これには改行も追加されています(これはPythonのように抑制することができます)。

printはPerlではありません。改行を追加する別のバージョンのsayが追加されたので、非常に不便でした。

RubyとPHPは、printに改行を追加していない点でPerlに似ています。もちろん、これはHTMLに埋め込まれたときの問題ではありません。

たとえば、hereのように他の言語を見ると、改行を追加するかどうかについて意見が分かれています。 Pythonでの改行の削除については、PEP259を参照してください。

1

印刷終了変数のパラメータを\ tまたはスペースとして渡しても同じ結果が表示されますが、printのデフォルトパラメータは\ nですので、最後には です。

しかし、2.7以上で動作します!

関連する問題