2

Python2x の場合、

from __future__ import print_function

print以前の関数になりますkeyword

しかし実際には、

これらの 2 つの違いは何ですか?

printだったときと同じ方法で使用できますkeywordが、どのような違いがあり、以前よりも効率的でしょうか?

4

2 に答える 2

9

ここでは、例を含むいくつかの公式ドキュメントと、詳細を含む PEP3105を読むことができます。

from __future__ import print_function簡単な違いとして、print 関数 (Python 3 または) を使用すると非常に簡単に実行できること、または少なくとも非常に一貫して実行できることがいくつかあります。

改行なし

print('Hello!', end='')

これはpython 2 ではより複雑でした。

stderr に出力

import sys
print('ERROR!!!!!', file=sys.stderr)

python 2で。

于 2013-10-18T16:47:38.207 に答える
7

あまり。関数では実行する必要がありますprint(stuff)が、ステートメントでは実行できますprint stuff

主な利点は、printが関数の場合、その名前に別の関数を割り当てることができることです。たとえば、データを画面に出力するだけでなく、データをファイルに記録する新しい関数を作成できます。この関数を builtin に割り当てるとprint、使用するすべてのコードprintが自動的にファイルに記録されます。これは as a ステートメントでは不可能でprintあり、同じ効果を得るには他の手法に頼る必要があります。

print出力のフォーマット方法に関連するいくつかの小さな変更もあります。ステートメントは「魔法の」構文を使用しました (たとえば、末尾のコンマは後続のスペースを抑制します) が、関数は標準のキーワード引数規則を使用します。

また、 Python 3 では常に関数です。関数として使用する場合は、インポートprintを使用する必要があるのは Python 2 です。__future__print

于 2013-10-18T16:45:20.243 に答える