Heim  >  Artikel  >  Backend-Entwicklung  >  Wie erreicht Python eine String-Interpolation ähnlich der #{}-Syntax von Ruby?

Wie erreicht Python eine String-Interpolation ähnlich der #{}-Syntax von Ruby?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-07 04:40:02474Durchsuche

How does Python Achieve String Interpolation Similar to Ruby's #{} Syntax?

Pythons Äquivalent zur String-Interpolation 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn