キーワード引数 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 サイトの他の関連記事を参照してください。