'end' キーワード引数を使用すると、Python 2.x で「SyntaxError: Missing brachess in call to 'print'」がスローされるのはなぜですか?

Mary-Kate Olsen
リリース: 2024-11-10 00:23:02
オリジナル
481 人が閲覧しました

Why Does Python 2.x Throw a

Print および End キーワード引数を使用した SyntaxError の処理

次のコードを実行しようとしたとき:

if Verbose:
   print("Building internal Index for %d tile(s) ...", end=' ')
ログイン後にコピー

anエラーが発生します:「SyntaxError: 'print' の呼び出しに括弧がありません」。これは、キーワード引数 end が Python 2.x ではサポートされていないためです。

違いを理解する

Python 2.x では、関数をステートメントとして出力します。したがって、上記のコードは、最後の引数が文字列リテラルである、タプルでラップされた print 呼び出しとして解釈されます。ただし、文字列リテラルはキーワード引数をサポートしていないため、エラーが発生します。

Python 2.x の解決策

Python 2.x では、次のいずれかを使用します。行をスペースで終了するメソッド:

  • print ステートメントに最後のカンマを追加します:

    print "Building internal Index for %d tile(s) ...",
    ログイン後にコピー
  • sys.stdout を使用します。モジュールを直接使用して出力をより詳細に制御します:

    import sys
    sys.stdout.write("Building internal Index for %d tile(s) ... ")
    ログイン後にコピー

Python 2.x での終了キーワード引数の有効化

最近のバージョンの Python 2 .x (2.5 以降) では、__future__ モジュールを使用して、print_function をインポートすることによって、関数として印刷関数をアクティブ化できます。ただし、このメソッドは古い Python 2.x バージョンと互換性がない可能性があります。

Python 3.x への移行

Python 3.x では、 print は関数を使用すると、end などのキーワード引数の使用が可能になります。したがって、元のコードは何も変更しなくても Python 3.x で正しく実行されるはずです。

以上が'end' キーワード引数を使用すると、Python 2.x で「SyntaxError: Missing brachess in call to 'print'」がスローされるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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