Python2x の場合、
from __future__ import print_function
はprint
以前の関数になりますkeyword
しかし実際には、
これらの 2 つの違いは何ですか?
print
だったときと同じ方法で使用できますkeyword
が、どのような違いがあり、以前よりも効率的でしょうか?
Python2x の場合、
from __future__ import print_function
はprint
以前の関数になりますkeyword
しかし実際には、
これらの 2 つの違いは何ですか?
print
だったときと同じ方法で使用できますkeyword
が、どのような違いがあり、以前よりも効率的でしょうか?
ここでは、例を含むいくつかの公式ドキュメントと、詳細を含む PEP3105を読むことができます。
from __future__ import print_function
簡単な違いとして、print 関数 (Python 3 または) を使用すると非常に簡単に実行できること、または少なくとも非常に一貫して実行できることがいくつかあります。
改行なし
print('Hello!', end='')
これはpython 2 ではより複雑でした。
stderr に出力
import sys
print('ERROR!!!!!', file=sys.stderr)
python 2で。
あまり。関数では実行する必要がありますprint(stuff)
が、ステートメントでは実行できますprint stuff
。
主な利点は、print
が関数の場合、その名前に別の関数を割り当てることができることです。たとえば、データを画面に出力するだけでなく、データをファイルに記録する新しい関数を作成できます。この関数を builtin に割り当てるとprint
、使用するすべてのコードprint
が自動的にファイルに記録されます。これは as a ステートメントでは不可能でprint
あり、同じ効果を得るには他の手法に頼る必要があります。
print
出力のフォーマット方法に関連するいくつかの小さな変更もあります。ステートメントは「魔法の」構文を使用しました (たとえば、末尾のコンマは後続のスペースを抑制します) が、関数は標準のキーワード引数規則を使用します。
また、 Python 3 では常に関数です。関数として使用する場合は、インポートprint
を使用する必要があるのは Python 2 です。__future__
print