HOWTO · Python

Zeichen zu String hinzufügen in Python

Dieses Tutorial demonstriert, wie man in Python ein Zeichen zu einer Zeichenkette hinzufügt

Auf dieser Seite

Um einer Zeichenkette in Python ein Zeichen hinzuzufügen, kannst du es mit + verketten oder in eine formatierte Zeichenkette einsetzen. Ein Zeichen wird als Zeichenkette mit genau einem Zeichen dargestellt. Da Python-Zeichenketten unveränderlich sind, erzeugen diese Operationen eine neue Zeichenkette; die ursprüngliche bleibt unverändert. Beim Anhängen steht der Text am Ende. Zum Einfügen an einer anderen Position musst du die ursprüngliche Zeichenkette an dieser Stelle aufteilen.

Führe dieses Beispiel aus:

Der Code und die angezeigten Bezeichnungen oder Ausgaben in diesem Abschnitt bleiben auf Englisch.

message = "Hello"
character = "!"
result = message + character
print(result)

Ein Zeichen mit dem +-Operator zu einer Zeichenkette in Python hinzufügen

Verwende + für eine einfache Verkettung. Beide Operanden müssen Zeichenketten sein. Das Ergebnis ist eine neue Zeichenkette. Daher enthält message nach dem folgenden Ausdruck weiterhin "Hello".

Der Code und die angezeigten Bezeichnungen oder Ausgaben in diesem Abschnitt bleiben auf Englisch.

message = "Hello"
character = "!"
result = message + character
print(result)

Ist der hinzuzufügende Wert eine Zahl, wandle ihn zuerst mit str() in eine Zeichenkette um. Beispielsweise verbindet "Page " + str(3) den Text nach der Umwandlung mit einer Zahl. Wird eine Zahl direkt zu einer Zeichenkette addiert, tritt ein TypeError auf, weil die Operandentypen nicht übereinstimmen.

Um ein Zeichen an einem bekannten Index einzufügen, verbinde die Abschnitte vor und nach der Einfügestelle: text[:index] + character + text[index:]. Auch dabei entsteht eine neue Zeichenkette. Wähle einen für die gewünschte Position gültigen Index und beachte, dass Python-Zeichenketten bei null indiziert werden.

Ein Zeichen mit der Methode join() zu einer Zeichenkette in Python hinzufügen

join() setzt ein iterierbares Objekt aus Zeichenketten zusammen. Die Zeichenkette, auf der du die Methode aufrufst, wird als Trennzeichen zwischen den Elementen verwendet; join() ist keine spezielle Anhängeoperation. Verwende ein leeres Trennzeichen, wenn die Teile ohne zusätzlichen Text verbunden werden sollen. Wenn das Ergebnis ein Trennzeichen enthalten soll, kannst du beispielsweise ein Komma wählen.

Der Code und die angezeigten Bezeichnungen oder Ausgaben in diesem Abschnitt bleiben auf Englisch.

parts = ["red", "green", "blue"]
result = ", ".join(parts)
print(result)

Jedes Element des iterierbaren Objekts muss eine Zeichenkette sein. Wandle andere Werte vor dem Verbinden um, zum Beispiel mit str(value). Für eine einzelne vorhandene Zeichenkette mit einem angehängten Suffix ist + meist der klarste Ausdruck. join() eignet sich, wenn mehrere Teile zusammengesetzt werden sollen, besonders wenn zwischen ihnen dasselbe Trennzeichen stehen soll.

Ein Zeichen mit der Methode str.format() zu einer Zeichenkette in Python hinzufügen

str.format() setzt Werte in Platzhalter mit geschweiften Klammern ein. Platziere die Platzhalter an den gewünschten Stellen und übergib der Methode die passenden Werte. Direkt aufeinanderfolgende Platzhalter werden ohne Trennzeichen verbunden. Ein Trennzeichen erscheint nur, wenn du es in die Vorlage einfügst.

Der Code und die angezeigten Bezeichnungen oder Ausgaben in diesem Abschnitt bleiben auf Englisch.

name = "Ada"
punctuation = "!"
result = "Hello, {}{}".format(name, punctuation)
print(result)

Dieser Ansatz funktioniert mit Python-Versionen, die str.format() unterstützen. Er ist nützlich, wenn die Vorlage von den Werten getrennt bleiben soll. Bei mehreren Platzhaltern übergib die Werte in der passenden Reihenfolge oder verwende benannte Platzhalter wie "Hello, {name}!".format(name="Ada"), damit ihre Zuordnung eindeutig ist.

Ein Zeichen mit String-Interpolation (f-Strings) zu einer Zeichenkette in Python hinzufügen

f-Strings bieten eine kompakte Möglichkeit, Werte und Ausdrücke in Zeichenkettenliterale einzusetzen. Sie erfordern Python 3.6 oder neuer. Setze jede Variable oder jeden Ausdruck nach dem Präfix f in geschweifte Klammern.

Der Code und die angezeigten Bezeichnungen oder Ausgaben in diesem Abschnitt bleiben auf Englisch.

name = "Ada"
punctuation = "!"
result = f"Hello, {name}{punctuation}"
print(result)

Verwende einen f-String, wenn die Vorlage direkt im Text gut lesbar ist. Der eingefügte Wert wird für die Ausgabe in der resultierenden Zeichenkette in Text umgewandelt; die ursprüngliche Zeichenkette und die Variablen bleiben unverändert. Für ältere Python-Versionen kannst du stattdessen str.format() oder Verkettung verwenden.

Ein Zeichen mit dem %-Operator zu einer Zeichenkette in Python hinzufügen

Die %-Formatierung mit % ist eine ältere Alternative. Ein Platzhalter wie %s markiert die Stelle für einen Wert, den der Operator dann einsetzt. Bei mehreren Platzhaltern übergib die Werte in einem Tupel und in der passenden Reihenfolge.

Der Code und die angezeigten Bezeichnungen oder Ausgaben in diesem Abschnitt bleiben auf Englisch.

name = "Ada"
punctuation = "!"
result = "Hello, %s%s" % (name, punctuation)
print(result)

Wähle für neuen Code den Formatierungsstil, mit dem die Vorlage am verständlichsten ist. % ist weiterhin nützlich, wenn du bestehenden Code pflegst, der diese Syntax bereits verwendet.

Fazit

Verwende + für ein einfaches Anhängen, str.format() oder einen f-String, um Text mit Werten zu verbinden, und join(), um mehrere Zeichenketten mit einem Trennzeichen zusammenzusetzen. Wandle Zahlen vor dem Verketten oder Verbinden in Zeichenketten um. Jede dieser Operationen erzeugt eine neue Zeichenkette. Weise das Ergebnis daher einer Variablen zu, wenn du es behalten möchtest. Die Beispiele oben sind ausführbare Python-Codeausschnitte. Dieses Paket enthält jedoch keinen Ausführungsnachweis; daher wird hier kein tatsächlich beobachtetes Ergebnis behauptet.