ホームページ > バックエンド開発 > Python チュートリアル > Python 3.x で `print(value, end=' ')` が SyntaxError を引き起こすのはなぜですか?

Python 3.x で `print(value, end=' ')` が SyntaxError を引き起こすのはなぜですか?

Mary-Kate Olsen
リリース: 2024-11-09 14:45:02
オリジナル
968 人が閲覧しました

Why Does `print(value, end=' ')` Cause a SyntaxError in Python 3.x?

キーワード引数 end='

Python 3.x では、print を呼び出すときに end=' ' 構文を使用する場合のトラブルシューティング() は SyntaxError を引き起こす可能性があります。これは、コードを Python 2.x からアップグレードするときによく発生します。この場合、print は依然として関数ではなくステートメントとして扱われます。

説明

Python 2.x 、 print は構文的にステートメントであるため、キーワード引数を受け入れません。その結果、print("foo" % bar, end=" ") は無効な構文であり、SyntaxError が発生します。

ただし、Python 3.x では、print が関数にアップグレードされ、次のことが可能になります。 end を含むキーワード引数を受け取ります。これは、print("foo" % bar, end=" ") が Python 3.x で有効かつ期待される構文であることを意味します。

解決策

Python 3.x で SyntaxError が発生する場合は、正しい構文 print(value, end=) を使用していることを確認してください。 ").

コードの移植性を確保するには、Python 2.x で次のイディオムを使用することを検討してください。

print("foo" % bar, )  # Add a trailing comma to prevent a line break
sys.stdout.write("foo" % bar + " ")  # Use sys.stdout for direct output manipulation
ログイン後にコピー

あるいは、可能であれば、Python 2.x で print_function の将来のインポートを有効にすることもできます。 Python 3.x の印刷構文を使用するには:

from __future__ import print_function
ログイン後にコピー

以上がPython 3.x で `print(value, end=' ')` が SyntaxError を引き起こすのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート