0

Python 2 では、Python の print ステートメントは関数ではありませんでしたが、Python 3 ではこれが関数になりました。

入力するprint(と、ホバーテキスト(または同様のもの)が表示されます

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

私は値が何を意味するかを知っていますが、それらの他の変数が何を意味するのか、そしてpython 2のものに対するpython 3のprintステートメントの利点は何かを明確にしていただければ幸いです(especially sep=' ')

4

2 に答える 2

5

に複数の引数を指定するprintと、通常はスペースで区切られます。

>>> print(1, 2, 3)
1 2 3

sepそれを別のものに変更できます:

>>> print(1, 2, 3, sep=', ')
1, 2, 3

通常、print最後に新しい行を追加します。endそれを変更できます:

>>> print('Hello.', end='')
Hello.>>>

通常printは標準出力に書き込みます。fileそれを変更できます:

>>> with open('test.txt', 'w') as f:
...     print("Hello, world!", file=f)
...

通常print、ストリームを明示的にフラッシュしません。余分な を避けたい場合はsys.stdout.flush()、 を使用できますflush。通常、これの効果はわかりにくいですが、これを使わずに試してみると、flush=True見えるようになるはずです:

>>> import time
>>> while True:
...     print('.', end='', flush=True)
...     time.sleep(0.5)
于 2013-06-22T04:41:25.690 に答える
1

Python 2 は関数ではなく、引数を渡すことができなかったsepため、同等のものはありません。printあなたができる最も近いものは次のものでしたjoin

 print ' '.join([value, ...])

に関してはfile、次の (私の意見ではぎこちない) 構文を使用する必要があります。

print >> sys.stdout, ' '.join([value, ...])

ここでドキュメントをコピーして貼り付けるつもりはないので、これらの引数の目的を知りたい場合は読んでください。

于 2013-06-22T04:39:55.843 に答える