Gibt es ein Python-Äquivalent zur String-Interpolation von Ruby?
Ruby-Beispiel:
name = "Spongebob Squarepants"
puts "Who lives in a Pineapple under the sea? \n#{name}."
Den erfolgreichen Python string-Verkettung ist scheinbar verbose mir.
InformationsquelleAutor der Frage Caste | 2010-12-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Python 3.6 hinzufügen Literale string-interpolation ähnlich Rubys string-interpolation. Beginnend mit dieser version von Python (die geplant ist, freigegeben werden, bis Ende 2016), werden Sie in der Lage zu zählen Ausdrücke, die in "f-Saiten", z.B.
Vor 3.6 ist die nächstgelegene Sie bekommen können das ist
Den
%
operator kann verwendet werden, für string-interpolation in Python. Der erste operand der string interpoliert werden, der zweite kann verschiedene Typen haben, darunter eine "mapping" - Zuordnung Feldnamen auf die Werte interpoliert werden. Hier habe ich das Wörterbuch von lokalen Variablenlocals()
zum anzeigen der Feldnamenname
um seinen Wert als eine lokale variable.Den gleichen code mit der
.format()
Methode der neueren Python-Versionen würde wie folgt Aussehen:Gibt es auch die
- string.Template
Klasse:InformationsquelleAutor der Antwort Sven Marnach
Seit Python 2.6.X Sie verwenden möchten:
InformationsquelleAutor der Antwort EinLama
Habe ich entwickelt, die interpy - Paket, das ermöglicht, die string-interpolation in Python.
Installieren Sie es einfach über
pip install interpy
.Und dann, fügen Sie die Zeile
# coding: interpy
am Anfang Ihrer Dateien!Beispiel:
InformationsquelleAutor der Antwort Syrus Akbary Nieto
String-interpolation wird im Lieferumfang von Python-3.6 gemäß PEP 498. Sie werden in der Lage sein, dies zu tun:
Beachten Sie, dass ich hasse Spongebob, so schreibt war dies etwas schmerzhaft. 🙂
InformationsquelleAutor der Antwort kirbyfan64sos
Python string-interpolation ist ähnlich zu C ist printf()
Wenn Sie versuchen:
Den tag
%s
ersetzt werden, mit dername
variable. Sie sollten einen Blick auf die print-Funktion tags: http://docs.python.org/library/functions.htmlInformationsquelleAutor der Antwort Oleiade
Verwendung:
PS: Leistung kann zu einem problem werden. Dies ist nützlich für lokale Skripts, die nicht für die Produktion logs.
Dupliziert:
Python string-Formatierung: % gegenüber .format
Was ist das Python äquivalent Einbettung eines Ausdrucks in einem string? (dh. "#{expr}" in Ruby)
Was ist das Ruby-äquivalent zu Python `s " s= "Hallo, %s. Wo ist %s?" % ("John","Mary")`
Gibt es eine Python-äquivalent zu Rubys string-interpolation?
InformationsquelleAutor der Antwort Paulo Cheque
Können Sie auch diese
http://docs.python.org/2/library/string.html#formatstrings
InformationsquelleAutor der Antwort Quan To
Für alte Python (getestet auf 2.4) die top-Lösung weist den Weg. Sie können dies tun:
Und Sie erhalten
InformationsquelleAutor der Antwort Michael Fox