Kurs
f-string Formatierung in Python
1. Einführung
Was ist String-Formatierung?
Bei der String-Formatierung geht es darum, deinen String mithilfe von Formatierungstechniken, die die jeweilige Programmiersprache bietet, ansprechend zu gestalten. In Python gibt es verschiedene Techniken zur String-Formatierung. Wir werden jetzt die neue f-String-Formatierungstechnik erkunden.
f-string wird zur Laufzeit des Programms ausgewertet. Im Vergleich zu den vorherigen Methoden geht es schnell.
f-string hat eine einfache Syntax im Vergleich zu früheren String-Formatierungstechniken in Python. Wir werden jedes Detail dieser Formatierung anhand verschiedener Beispiele untersuchen.
Führe den Code aus diesem Tutorial online aus und bearbeite ihn
Code ausführen1.1. Syntax
Jede f-string-Anweisung besteht aus zwei Teilen, einem Zeichen f oder F und einem String, den wir formatieren wollen. Die Zeichenfolge wird in einfache, doppelte oder dreifache Anführungszeichen gesetzt.
Schauen wir uns die Syntax an.
## we can also use F, '', ''''', """"""'
f"string"
An die Stelle von string müssen wir unseren Satz setzen, der formatiert werden soll.
2. Variablen anzeigen
Bisher haben wir die Methode str.format() hauptsächlich zum Formatieren von Strings verwendet. Aber die Zeit hat sich geändert, wir haben eine neue Methode, um unsere Bemühungen doppelt so schnell zu machen.
Die Variablen in den geschweiften Klammern { } werden in der Ausgabe wie eine normale Druckanweisung angezeigt. Sehen wir uns ein Beispiel an.
## declaring variables
name = "Datacamp"
type_of_company = "Educational"
## enclose your variable within the {} to display it's value in the output
print(f"{name} is an {type_of_company} company.")
Datacamp is an Educational company.
Wir haben die Werte der Variablen in der Ausgabe erhalten. Siehst du, es ist ganz einfach. Wir können das f auch durch F ersetzen.
## declaring variables
name = "Datacamp"
type_of_company = "Educational"
## enclose your variable within the {} to display it's value in the output
print(F"{name} is an {type_of_company} company.")
Datacamp is an Educational company.
f entweder unten oder oben ist, funktioniert das genauso.
3. Ausdrücke
Was wäre, wenn wir Ausdrücke wie Arithmetik, Funktionsaufrufe usw. in einem String auswerten könnten? Das ist cool, oder? Ja! Es ist sehr, sehr spannend, Ausdrücke innerhalb einer Zeichenkette zu verwenden. f-string erlaubt es uns, Ausdrücke innerhalb der Zeichenkette auszuwerten.
Füge den Ausdruck einfach in { } ein, um ihn auszuwerten. f-string wertet ihn zur Laufzeit des Programms aus. Das ist eine hervorragende Funktion, die dir Zeit und Code spart.
Sehen wir uns Beispiele für die verschiedenen Arten von Ausdrücken an.
## arithmetic expression
print(f"{5 * 5}")
25
Wir können auch Funktionen innerhalb der { } aufrufen. Definieren wir eine Funktion greet() und rufen sie im f-string auf
def greet(name):
return "Hello, " + name
## calling the function using f-string
name = "Datacamp"
print(f"{greet(name)}")
Hello, Datacamp
Auf die gleiche Weise können wir auch die vordefinierten Methoden aufrufen. Schauen wir mal.
## calling the 'title' method which makes the first letter of every word upper
string = "datacamp is an educational company."
print(f"{string.title()}")
Datacamp Is An Educational Company.
Was können wir sonst noch mit der f-Zeichenkette machen? Können wir das Objekt anzeigen? Ja, das können wir. Es ist das Gleiche, wie wenn wir die Ausgabe der Variablen anzeigen.
class Sample:
def __init__(self, name, age):
self.name = name
self.age = age
## this method will be called when we print the object
def __str__(self):
return f'{self.name} is {self.age} years old.'
john = Sample("John", 19)
## it'll wake up the __str__() method
print(f"{john}")
John is 19 years old.
4. Besondere Zeichen
Was ist, wenn wir Sonderzeichen wie {}, \', \"? anzeigen wollen, die von Python intern für besondere Bedeutungen verwendet werden. Können wir Escape-Zeichen innerhalb der f-Zeichenfolge verwenden? Lass uns die Antworten auf diese Fragen sehen.
4.1. Kostenvoranschläge
Wir können beliebige Anführungszeichen {einfach, doppelt oder dreifach} in der f-Zeichenkette verwenden. Wir müssen das Escape-Zeichen verwenden, um Anführungszeichen zu drucken. Der f-string-Ausdruck erlaubt es uns nicht, den Backslash zu verwenden. Wir müssen sie außerhalb der { } platzieren.
Lass es uns an Beispielen sehen.
name = "Datacamp"
## displaying single quotations
print(f"Hello, \'{name}\'")
print()
## displaying double quotations
print(f"Hello, \"{name}\"")
Hello, 'Datacamp'
Hello, "Datacamp"
Schauen wir uns andere Arten von Zitaten in f-Strings an.
f'{"Hello, Datacamp"}'
'Hello, Datacamp'
f"{'Hello, Datacamp'}"
'Hello, Datacamp'
f"""Hello, Datacamp"""
'Hello, Datacamp'
f'''Hello, Datacamp'''
'Hello, Datacamp'
Wir können auch { } innerhalb der drei Anführungszeichen einfügen.
Du kannst die Backslashes innerhalb der { } in f-string nicht verwenden. Du bekommst eine Fehlermeldung, wenn sie innerhalb von { } enthalten sind.
print(f"{\"Datacamp\"}")
File "<ipython-input-60-b9a2502d6274>", line 1
print(f"{\"Datacamp\"}")
^
SyntaxError: f-string expression part cannot include a backslash
4.2. Hosenträger
Wir müssen einen doppelten Satz von geschweiften Klammern verwenden, um die Klammern mit f-string zu drucken. Sehen wir uns ein Beispiel an.
print(f"{{Datacamp}}")
{Datacamp}
Wenn du mit f-string zwei Sätze von Klammern anzeigen willst, musst du vier Sätze von Klammern verwenden.
print(f"{{{{Datacamp}}}}")
{{Datacamp}}
5. Wörterbücher
Wir müssen ein bisschen vorsichtig sein, wenn wir mit Wörterbuchschlüsseln innerhalb der f-Zeichenkette umgehen. Du musst ein anderes Zitat für den Wörterbuchschlüssel und die f-Zeichenfolge verwenden. Du darfst für einen Wörterbuchschlüssel nicht dieselben Anführungszeichen verwenden, als wäre er eine f-Zeichenkette.
person = {"name": "John", "age": 19}
print(f"{person['name']} is {person['age']} years old.")
John is 19 years old.
Bei Wörterbüchern darfst du sie nicht wie folgt verwenden.
person = {"name": "John", "age": 19}
print(f'{person['name']} is {person['age']} years old.')
File "<ipython-input-65-6849ff0810ae>", line 2
print(f'{person['name']} is {person['age']} years old.')
^
SyntaxError: invalid syntax
Fazit
Ich hoffe, du lernst etwas Neues in Python, wenn du dieses Lernprogramm liest. Wenn du mehr über Strings und frühere Formatierungstechniken erfahren möchtest, schau dir dieses Tutorial auf Datacamp an. Schau dir auch den Kurs " Reguläre Ausdrücke in Python " von DataCamp an.
Viel Spaß beim Coding :)
Python-Kurse
Kurs
Einführung in die Datenwissenschaft in Python
Kurs