Python Sprintf: Der formatierte String in Python
Es gibt nicht genau die eingebaute sprintf
-Funktion, um formatierte Strings zu drucken, aber dank Python gibt es zahlreiche Methoden, um formatierte Strings zu drucken.
In diesem Artikel werden wir vier sprintf
-ähnliche Funktionen in Python behandeln, darunter den %
-Operator, format()
, f-string
und eine benutzerdefinierte sprintf
-Funktion, also lassen Sie uns tief in sie eintauchen Es.
Formatierter String in Python
Die Zeichenfolgenformatierung wird auch als Zeichenfolgeninterpolation bezeichnet, bei der wir einen benutzerdefinierten Wert, eine Zeichenfolge oder eine Variable in den vordefinierten Text einfügen können.
Es ist eine der bevorzugten und lesbaren Methoden zum Drucken von Zeichenfolgen, einschließlich einiger Werte oder Ergebnisse, was uns die sprintf
-ähnliche Funktionalität in Python gibt.
Wir können auch mathematische Ausdrücke in den formatierten Zeichenfolgen verwenden. Nehmen wir zum Beispiel an, wir haben zwei Werte und möchten sie addieren, um ein Endergebnis zu drucken.
Codebeispiel:
x = 3
y = 4
print(f"The sum of {x} and {y} = {x+y}") # formatted string
print("The sum of", x, "and", y, "=", (x + y)) # normal string
Ausgang:
The sum of 3 and 4 = 7
The sum of 3 and 4 = 7
Wie wir sehen können, ist das Ergebnis des Obigen das gleiche, aber die normale Zeichenfolge ist sehr unbrauchbar; Die formatierte Zeichenfolge ist jedoch besser lesbar, und es ist für Entwickler einfach, Code mit der formatierten Zeichenfolge zu schreiben.
Verschiedene Methoden für formatierte Zeichenfolgen in Python
Pythons ist eine Allzweck-Programmiersprache mit einer vielfältigen Open-Source-Community und kontinuierlichem Support, die Entwicklern Lösungen und Funktionalitäten bietet, um jede Aufgabe auf vielfältige Weise zu erfüllen, je nach Art der Aufgabe und dem jeweiligen Szenario.
Ähnlich wie bei der Verwendung formatierter Zeichenfolgen haben wir verschiedene Methoden, mit denen wir Formatierungszeichenfolgen drucken können, die wir in diesem Artikel einzeln besprechen werden.
Formatierter String mit dem Operator %
Es ist eine der alten Techniken für formatierte Strings in Python und anderen Programmiersprachen. In Python haben Strings eine eingebaute Operation, auf die mit dem Operator %
zugegriffen werden kann, was es uns ermöglicht, Strings einfach zu formatieren, ähnlich wie springf
in C und C++.
Codebeispiel:
name = "Zeeshan Afridi"
msg = "Hey! developers, it's %s." % name
print(msg)
Ausgang:
Hey! developers, it's Zeeshan Afridi.
Im obigen Code alarmiert %s
den Compiler, dass ich am Ende einen String erwarte, und wie demonstriert, haben wir den String mit dem %
-Operator als %name
angegeben.
Es gibt verschiedene Formatbezeichner für verschiedene Datentypen in der Zeichenfolgenformatierung.
Formatbezeichner | Datentyp | Ausgang |
---|---|---|
%c |
verkohlen | Es zeigt ein Unicode-Zeichen |
%d |
ganze Zahl | Ganze Zahl |
%f |
Fließkomma | Dezimalzahl |
%o |
ganze Zahl (oktal) | Oktalzahl |
%s |
Schnur | Es gibt eine Schnur |
%t |
Datum (und Uhrzeit | Daten und Zeit |
Formatierter String mit der Funktion format()
in Python
Das format()
ist eine neue Methode zum Formatieren von Strings in Python und wird in Python 3 eingeführt.
Es ist ein neuer Stil zum Formatieren von Zeichenfolgen, bei dem wir uns die Formatbezeichner und ihre Reihenfolge in der Zeichenfolge nicht merken müssen. Stattdessen können wir das format()
am Ende des Strings verwenden und die Argumente an den angegebenen Positionen bereitstellen.
Codebeispiel:
program = "BSSE"
cgpa = 3.2
student = "Hi! I am a student of {}, and my CGPA is {}".format(program, cgpa)
print(student)
Ausgang:
Hi! I am a student of BSSE, and my CGPA is 3.2
Im obigen Programm haben wir die Stellen, an denen wir einen Wert einfügen wollten, mit geschweiften Klammern {}
angegeben und am Ende des Strings student
die Funktion .format()
verwendet und übergeben zwei Argumente entsprechend.
Formatiertes String-Literal f-string
in Python
Formatted string literal ist auch bekannt als f-string
und ist in Python 3.6 als neue String-Formatierungsmethode enthalten, deren Syntax besser lesbar und unkomplizierter ist.
f-string
hat eine hervorragende und einzigartige Funktion, die den anderen Methoden entgangen ist, und wir können die Ausdrücke und Werte innerhalb der Zeichenfolge definieren.
Es ist nicht nötig, .format()
am Ende des Strings zu verwenden. Sehen wir uns unten ein Beispiel für f-String
in Python an.
Codebeispiel:
my_fav_lang = "Python"
experience = 2
zeeshan = f"I love to code in {my_fav_lang}, and I have {experience} year experience in Python programming."
print(zeeshan)
Ausgang:
I love to code in Python, and I have 2 years of experience in Python programming.
Wow! die f-saite
ist super einfach und lesbar. Im Gegensatz zu den anderen beiden Methoden müssen wir keine andere Methode oder Kommas verwenden, sondern verwenden nur f
als Präfix für den String, und wir können loslegen.
Verwendung von sprintf
in Python
sprintf
steht für Stringprint; Im Grunde ist es eine eingebaute Funktion in der Programmiersprache C und C++, um eine formatierte Zeichenfolge auszugeben, und sie speichert die Ausgabe in einem char
-Puffer, der in sprintf()
angegeben ist. Und es gibt verschiedene, aber ähnliche Wege in Python.
Das sprintf
ist keine benutzerdefinierte Funktion in Python, aber wir können die StringIO
-Instanz als Puffer verwenden. Und anders als bei sprintf
müssen wir der buf.write
und der Formatierungsmethode einen String übergeben. Das %
wird in diesem Fall für die String-Formatierung verwendet.
Codebeispiel:
import io
from io import StringIO
def sprintf(buf, fmt, *args):
buf.write(fmt % args)
age = 24
fav_color = "Blue"
buf = io.StringIO()
sprintf(buf, "I'm %d years old, and my favourite colour is %s!", age, fav_color)
print(buf.getvalue())
Ausgang:
I'm 24 years old, and my favourite colour is Blue!
Wenn Sie für dieses Programm einen ImportError
erhalten, installieren Sie die erforderlichen Abhängigkeiten von Ihrer Befehlszeilenschnittstelle (CLI
).
Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.
LinkedInVerwandter 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