Gibt es einen Grund, nicht '+' zu verwenden, um zwei Strings zu verketten?

Einer gemeinsamen antipattern in Python ist die Verkettung einer Folge von strings mit + in einer Schleife. Das ist schlecht, da der Python-interpreter hat, erstellen Sie einen neuen string-Objekt für jede iteration, und es endet, wobei quadratische Zeit. (Aktuelle Versionen von CPython kann anscheinend diese optimieren, in einigen Fällen, aber in anderen Implementierungen können nicht, so dass die Programmierer davon abgehalten werden, sich auf diese.) ''.join ist der richtige Weg, dies zu tun.

Aber ich habe gehört, es sagte (wie hier zum Beispiel auf Stack Overflow) , sollten Sie nie, nie Verwendung + für die string-Verkettung, sondern verwenden Sie immer ''.join oder eine format-string. Ich verstehe nicht, warum dies der Fall ist, wenn man nur die Verkettung von zwei Zeichenfolgen. Wenn mein Verständnis richtig ist, sollte es nicht nehmen quadratischen Zeit, und ich denke a + b ist sauberer und besser lesbar als die beiden ''.join((a, b)) oder '%s%s' % (a, b).

Ist es gute Praxis zu verwenden + um zwei strings zu verketten? Oder ist es ein problem, ich bin mir nicht bewusst?

InformationsquelleAutor der Frage Taymon | 2012-04-06

Schreibe einen Kommentar