Heim > Artikel > Backend-Entwicklung > Wie erreicht Python eine String-Interpolation ähnlich der #{}-Syntax von Ruby?
In Ruby wird die String-Interpolation mithilfe der #{}-Syntax erreicht. Zum Beispiel:
name = "Spongebob Squarepants" puts "Who lives in a Pineapple under the sea? \n#{name}."
Frage: Gibt es in Python einen vergleichbaren Mechanismus zum Interpolieren von Strings?
Antwort:
Ab Python 3.6 wurde die String-Interpolationssyntax eingeführt, die der #{}-Interpolation von Ruby ähnelt. In Python 3.6 und höher ermöglicht die F-Strings-Syntax die Einbettung von Ausdrücken in Strings wie folgt:
name = "Spongebob Squarepants" print(f"Who lives in a Pineapple under the sea? {name}.")
Vor Python 3.6 wurde üblicherweise der %-Operator für die String-Interpolation verwendet. Der erste Operand ist die zu interpolierende Zeichenfolge, während der zweite eine „Zuordnung“ sein kann, die Feldnamen mit zu interpolierenden Werten verknüpft.
So erreichen Sie die Zeichenfolgeninterpolation mit der .format()-Methode von Python:
name = "Spongebob Squarepants" print("Who lives in a Pineapple under the sea? {name!s}.".format(**locals()))
Schließlich bietet die Klasse string.Template einen alternativen Ansatz:
tmpl = string.Template("Who lives in a Pineapple under the sea? $name.") print(tmpl.substitute(name="Spongebob Squarepants"))
Das obige ist der detaillierte Inhalt vonWie erreicht Python eine String-Interpolation ähnlich der #{}-Syntax von Ruby?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!