+
のないバリアントは、コードの構文解析中に実行されます。私はそれはあなたがあなたのコード内でよりよい複数行の文字列を書いてみましょうするために行われたと思いますので、あなたが行うことができます。
test = "This is a line that is " \
"too long to fit nicely on the screen."
私はそれが可能だとき、あなたはnon-+
バージョンを使用する必要があることを推測し、バイトコードにありますので、結果の文字列だけになり、連結の記号は残されません。
+
を使用すると、コードに2つの文字列があり、実行時に連結を実行します(インタプリタがスマートで最適化されていない限り、連結しているかどうかわかりません)。
明らか
、あなたが行うことはできません。高速で1 = '' BAは= 'B'
? no-+
バージョンは、スクリプトを実行する前に実行されるためです。
+
vs join
- >多くの要素がある場合は、多くの要素を処理するように最適化されているため、join
が優先されます。複数の文字列を連結するために+を使用すると、プロセスメモリには多くの部分的な結果が生成されますが、join
を使用しては生成されません。
2つの要素を連結するとすれば、+
はより読みやすくなっていると思います。
これは文字列*リテラル*連結です。 –
文字列リテラルでは、並置と '+'演算子の使用に違いはありません。変数では、並置はオプションではありません。 – khelwood
https://lwn.net/Articles/551426/ – UlfR