ホームページ >バックエンド開発 >Python チュートリアル >Python で `print` で `end=' '' を使用すると SyntaxError が発生するのはなぜですか?

Python で `print` で `end=' '' を使用すると SyntaxError が発生するのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-09 22:10:03542ブラウズ

Why am I getting a SyntaxError when using `end=' '` with `print` in Python?

if Verbose:
   print("Building internam Index for %d tile(s) ...", end=' ')

print(("Building internam Index for %d tile(s) ...", end=" "))

print("Building internam Index for %d tile(s) ...", end=" ")

from __future__ import print_function

end=' ' が間違った構文であることを示す SyntaxError が表示されます。このエラーは、Python 2.x と 3.x の重要な違いに起因します。Python 2.x では、print は関数ではなくステートメントとみなされます。したがって、end のようなキーワード引数の使用は許可されません。代わりに、引数をカンマで区切るか、タプルを print ステートメントの引数として利用する必要があります。たとえば、Python 2.x では、上記のコードは次と同等です:または ただし、Python 3.x では、print は正規の関数であり、キーワード引数を受け入れます。これにより、元の例のように、キーワード引数を print 関数に直接指定できる、より合理的な構文が可能になります。Python 2.x でこの問題を解決するには、引数を分離するようにコードを変更できます。カンマを使用するか、sys.stdout モジュールを使用して出力をより包括的に制御します。あるいは、最近のバージョンの Python 2.x (2.5 以降) では、future モジュールをインポートして print_function 機能を有効にすることができます:これにより、拡張された print 関数が有効になりますスクリプト ファイル内の構文を変更すると、end などのキーワード引数を利用できるようになります。このアプローチは、古いバージョンの Python 2.x と普遍的な互換性がないことに注意してください。

以上がPython で `print` で `end=' '' を使用すると SyntaxError が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。