String-Interpolation in Python
-
String-Interpolation mit dem Modulo (
%
) in Python -
String-Interpolation mit der
format()
-Methode in Python - String-Interpolation mit den formatierten Strings in Python
- String-Interpolation mit der Template-Klasse in Python
String-Interpolation bezieht sich auf die Technik, Werte von Variablen anstelle von Platzhaltern in einen String einzufügen. Mithilfe der String-Interpolation können Werte dynamisch in einen String eingefügt werden.
In Python gibt es vier Möglichkeiten, Strings zu interpolieren, nämlich Modulo (%
), format()
-Methode, formatierte Strings und Template-Klasse. In diesem Artikel werden wir im Detail über diese Methoden lernen.
String-Interpolation mit dem Modulo (%
) in Python
Wir können das Modulo (%
) zum Formatieren von Strings in Python verwenden. Dieser Ansatz ähnelt dem printf()
in der Programmiersprache C
.
Im Folgenden sind die Platzhalter aufgeführt, die wir innerhalb von Zeichenketten zur Formatierung verwenden können.
%d = Integer
%f = Float
%s = String
%x = Hexadecimal
%o = Octal
Beachten Sie, dass es notwendig ist, ein Modulo-Zeichen vor Zeichen innerhalb von Zeichenketten zu platzieren, um als Platzhalter betrachtet zu werden. Es folgt die Syntax für die Verwendung von Modulo (%
).
"<string with placeholders>" % ( < comma separated values or variables > )
Jetzt sind wir mit einer kurzen Einführung fertig; Lassen Sie uns anhand einiger Beispiele verstehen, wie Sie dieses Konzept praktisch anwenden können. Siehe dazu den folgenden Python-Code.
a = 2000
b = "Hi"
c = "Python"
d = True
e = 3.14
print("%d + 1000 = 3000" % (a))
print("%s is a web framework written in %s" % ("Django", c))
print("[%d, %s, %s, %s, %f]" % (a, b, c, d, e))
print("%s! My favourite programming language is %s" % (b, c))
print("The value of PI or π: %f" % (e))
Ausgabe:
2000 + 1000 = 3000
Django is a web framework written in Python
[2000, Hi, Python, True, 3.140000]
Hi! My favourite programming language is Python
The value of PI or π: 3.140000
Beachten Sie, wie Platzhalter innerhalb von Zeichenketten zur Formatierung verwendet werden und welcher Platzhalter für welche Art von Wert verwendet wird.
String-Interpolation mit der format()
-Methode in Python
Die Methode format()
kann zum Formatieren von Strings in Python verwendet werden. Diese Methode ähnelt der vorherigen, aber hier fungiert {}
als Platzhalter für jeden Werttyp.
Es folgt die Syntax für die Methode format()
.
"<string with placeholdes>".format( < comma separated values and variables > )
Sehen Sie sich den folgenden Python-Code an, um dieses Konzept anhand einiger relevanter Beispiele besser zu verstehen.
a = 2000
b = "Hi"
c = "Python"
d = True
e = 3.14
print("{} + 1000 = 3000".format(a))
print("{} is a web framework written in {}".format("Django", c))
print("[{}, {}, {}, {}, {}]".format(a, b, c, d, e))
print("{}! My favourite programming language is {}".format(b, c))
print("The value of PI or π: {}".format(e))
Ausgabe:
2000 + 1000 = 3000
Django is a web framework written in Python
[2000, Hi, Python, True, 3.14]
Hi! My favourite programming language is Python
The value of PI or π: 3.14
String-Interpolation mit den formatierten Strings in Python
Formatierte Zeichenketten sind eindeutige Zeichenketten in Python. Reguläre Zeichenketten sind formatierte Zeichenketten, wenn ihnen das Zeichen f
vorangestellt wird.
Formatierte Strings werden auch als F-Strings bezeichnet. Diese Zeichenketten werden verwendet, um Zeichenkettendarstellungen von Variablen und Objekten dynamisch in Zeichenketten einzufügen.
Wir können {}
innerhalb von Strings hinzufügen, und innerhalb dieser Blöcke können wir Variablen oder Logik hinzufügen, die einen Wert zurückgeben.
Es folgt die Syntax für formatierte Zeichenketten.
f"{<variable>} {<variable>} {<variable>}"
Lassen Sie uns dieses Konzept anhand einiger relevanter Beispiele verstehen. Siehe dazu den folgenden Python-Code.
def hello():
return "Hello"
a = 2000
b = "Hi"
c = "Python"
d = True
e = 3.14
print(f"{a} + 1000 = 3000")
print(f"Django is a web framework written in {c}")
print(f"[{a}, {b}, {c}, {d}, {e}]")
print(f"{hello()}! My favourite programming language is {c}")
print(f"The value of PI or π: {e}")
print(f"1000 + 2000 = {1000 + 2000}")
print(f"10 * 20 - 25 = {10 * 20 - 25}")
Ausgabe:
2000 + 1000 = 3000
Django is a web framework written in Python
[2000, Hi, Python, True, 3.14]
Hello! My favourite programming language is Python
The value of PI or π: 3.14
1000 + 2000 = 3000
10 * 20 - 25 = 175
String-Interpolation mit der Template-Klasse in Python
Python hat ein eingebautes Modul, string
, eine Klasse Template
, mit der wir dynamische Strings erstellen können. Mit dieser Methode können wir $
-basierte Substitutionen durchführen.
Beispielsweise ist für die Zeichenfolge Hello $name
name
eine Variable, und wir können einen Wert für diese Variable bereitstellen. Wir können das substitute()
der Template
-Klasse verwenden, um Werte zu ersetzen.
Diese Methode akzeptiert ein Dictionary, in dem Variablen der Vorlagenzeichenfolge Schlüssel sind und auf Werte zeigen. Anstatt ein Dictionary zu verwenden, können wir auch Schlüsselwortargumente bereitstellen.
Beachten Sie, dass der Python-Interpreter einen KeyError
auslöst, wenn der Schlüssel nicht gefunden wird. Um dies zu vermeiden, kann man entweder sicherstellen, dass die erforderlichen Schlüssel im Dictionary vorhanden sind, oder die Methode safe_substitute()
verwenden, um den String für diesen Platzhalter unverändert zu lassen.
Nachdem wir nun mit etwas Theorie fertig sind, wollen wir dieses Konzept anhand einiger relevanter Beispiele verstehen. Siehe dazu den folgenden Python-Code.
from string import Template
def pi():
return 3.14
t1 = Template("$a + 1000 = 3000")
t2 = Template("$package is a web framework written in $language")
t3 = Template("$greeting! My favourite programming language is $language")
t4 = Template("[$a, $b, $c, $d, $e]")
t5 = Template("The value of PI or π: $pi")
print(t1.substitute({"a": 2000}))
print(t2.substitute({"package": "Flask", "language": "Python"}))
print(t3.substitute({"greeting": "Hey", "language": "Python"}))
print(t4.substitute(a=2000, b="Hi", c="Python", d=True, e=999.909))
print(t5.substitute(pi=pi()))
Ausgabe:
2000 + 1000 = 3000
Flask is a web framework written in Python
Hey! My favourite programming language is Python
[2000, Hi, Python, True, 999.909]
The value of PI or π: 3.14
Sehen Sie sich den folgenden Python-Code an, um die Methode safe_substitute()
zu verwenden.
from string import Template
def pi():
return 3.14
t1 = Template("$a + 1000 = 3000")
t2 = Template("$package is a web framework written in $language")
t3 = Template("$greeting! My favourite programming language is $language")
t4 = Template("[$a, $b, $c, $d, $e]")
t5 = Template("The value of PI or π: $pi")
print(t1.safe_substitute({}))
print(t2.safe_substitute({"package": "Flask"}))
print(t3.safe_substitute({"language": "Python"}))
print(t4.safe_substitute(c="Python", d=True, e=999.909))
print(t5.safe_substitute())
Ausgabe:
$a + 1000 = 3000
Flask is a web framework written in $language
$greeting! My favourite programming language is Python
[$a, $b, Python, True, 999.909]
The value of PI or π: $pi
Verwandter Artikel - Python String
- Entfernen Kommas aus String in Python
- Wie man prüft, ob eine Zeichenkette auf pythonische Weise leer ist
- Konvertieren einer Zeichenkette in einen Variablennamen in Python
- Wie man Leerzeichen in einem String in Python entfernt
- Wie man in Python Zahlen aus einer Zeichenkette extrahiert
- Wie man in Python String in datetime konvertiert