__future__ ライブラリから print_function をインポートすることで、Python3のものと同等の print 関数が使えるようになります。
from __future__ import print_function
Python3の print 関数であれば、Python2の print 文にはなかったさまざまなオプションが使えるようになります。
たとえば、複数の引数を print 関数に渡したときの区切り文字を指定するには、 sep オプションを使います。
print("Red", "Hot", "Chili", sep="\n") # => 改行つきで Red Hot Chili が順に表示される
末尾の改行コードをコントロールしたい場合には end オプションを使います。
from __future__ import print_function print("Red", "Hot", "Chili", end="") # => Red Hot Chili # 末尾に改行コードが追加されないこれはPython2 で print value, と最後に , をつけるのと近い感じですね。
出力先を標準出力ではなくファイルに変えたい場合は、 file オプションにファイルオブジェクトを渡します。
f = open("test.txt", "w") print("Red", "Hot", "Chili", file=f) f.close() # test.txt ファイル内に Red Hot Chili と書き込まれる
以上です。
使いどころは多くはなさそうですが、、万が一Python2のコードの中でPython3スタイルの print 関数を使う必要が出てきたときには、いいかもしれません
参考
PEP 3105 print as a function - What’s New in Python 2.6
0 件のコメント:
コメントを投稿