Aus den folgenden zwei Varianten (mit oder ohne Pluszeichen dazwischen) der Zeichenfolgenliteralverkettung:
join
bevorzugt? Code:
%Vor%Juxtaposing funktioniert nur für String-Literale:
%Vor%Wenn Sie mit String-Objekten arbeiten:
%Vor%Sie müssen eine andere Methode verwenden:
%Vor% Das +
ist etwas offensichtlicher, als nur Literale nebeneinander zu setzen.
Eine Anwendung der ersten Methode besteht darin, lange Texte über mehrere Zeilen zu teilen und zu behalten Einrückung im Quelltext:
%Vor% ''join()
ist die bevorzugte Methode zum Verketten von mehr Strings, zum Beispiel in einer Liste:
Die Variante ohne +
wird während der Syntaxanalyse des Codes ausgeführt. Ich schätze, es wurde gemacht, damit Sie mehrere Zeilen in Ihrem Code schöner schreiben können, also können Sie:
Ich schätze, wenn es möglich ist, sollten Sie die non-+
Version verwenden, weil im Byte-Code nur die resultierende Zeichenkette enthalten sein wird und kein Zeichen der Verkettung übrig bleibt.
Wenn Sie +
verwenden, haben Sie zwei Zeichenfolgen in Ihrem Code und führen die Verkettung zur Laufzeit aus (es sei denn, die Interpreter sind intelligent und optimieren sie, aber ich weiß nicht, ob sie das tun).
Natürlich können Sie nicht: a = 'A' ba = 'B' a
Welcher ist schneller? Die no-+
Version, weil sie vor dem Ausführen des Skripts ausgeführt wird.
+
vs join
- & gt; Wenn Sie viele Elemente haben, wird join
bevorzugt, weil es für die Verarbeitung vieler Elemente optimiert ist. Wenn Sie + verwenden, um mehrere Zeichenfolgen zu erstellen, werden viele Teilergebnisse im Prozessspeicher erstellt, während join
nicht verwendet wird.
Wenn Sie nur ein paar Elemente vorstellen wollen, dann ist +
besser, weil es besser lesbar ist.
Tags und Links python string string-concatenation