String-Interpolation in Python

Vaibhav Vaibhav 10 Oktober 2023
  1. String-Interpolation mit dem Modulo (%) in Python
  2. String-Interpolation mit der format()-Methode in Python
  3. String-Interpolation mit den formatierten Strings in Python
  4. String-Interpolation mit der Template-Klasse in Python
String-Interpolation 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
Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

Verwandter Artikel - Python String