Tutorials  /  Python

Python f-strings - Effizientes Formatieren

Ccentron Redaktion · Februar 2024 ·4 Min. Lesezeit ·Python, Tutorial

Python f-strings oder formatierte Zeichenketten sind die neue Art, Zeichenketten zu formatieren. Diese Funktion wurde in Python 3.6 unter PEP-498 eingeführt. Sie wird auch als literale Zeichenketteninterpolation bezeichnet.

Warum benötigen wir f-strings?

Python bietet verschiedene Möglichkeiten, eine Zeichenkette zu formatieren. Lassen Sie uns diese schnell betrachten und welche Probleme sie haben.

  • %-Formatierung - großartig für einfache Formatierungen, aber begrenzte Unterstützung nur für Zeichenketten, Integers und Doubles. Wir können sie nicht mit Objekten verwenden.
  • Template Strings - sehr grundlegend. Template Strings funktionieren nur mit Schlüsselwortargumenten wie Wörterbüchern. Es ist nicht erlaubt, Funktionen aufzurufen, und Argumente müssen Zeichenketten sein.
  • String format() - Die Python String format()-Funktion wurde eingeführt, um die Probleme und begrenzten Funktionen der %-Formatierung und Template Strings zu überwinden. Sie ist jedoch zu umständlich. Lassen Sie uns ihre Umständlichkeit an einem einfachen Beispiel betrachten.
Code
>>> age = 4 * 10
>>> 'My age is {age}.'.format(age=age)
'My age is 40.'

Python f-strings funktionieren fast ähnlich wie die format()-Funktion, entfernen jedoch alle Umständlichkeiten, die die format()-Funktion hat. Lassen Sie uns sehen, wie einfach wir die oben genannte Zeichenkette mit f-strings formatieren können.

Code
>>> f'My age is {age}'
'My age is 40.'
VM

Passende Infrastruktur bei centron

Skripte und Dienste brauchen irgendwann eine Umgebung, die durchläuft: ccloud³ VMs ab 3,12 € im Monat, stundengenau abgerechnet. Cloud Server mieten →

Beispiele für Python f-strings

Lassen Sie uns ein einfaches Beispiel für f-strings betrachten.

Python
name = 'Pankaj'
age = 34

f_string = f'My Name is {name} and my age is {age}'

print(f_string)
print(F'My Name is {name} and my age is {age}')  # f and F are same

name = 'David'
age = 40

# f_string is already evaluated and won't change now
print(f_string)

Output:

Code
My Name is Pankaj and my age is 34
My Name is Pankaj and my age is 34
My Name is Pankaj and my age is 34

Python führt Anweisungen nacheinander aus, und sobald f-string-Ausdrücke ausgewertet sind, ändern sie sich nicht, auch wenn sich der Wert des Ausdrucks ändert. Deshalb bleibt im obigen Code der Wert von f_string gleich, auch nachdem die Variablen 'name' und 'age' im späteren Teil des Programms geändert wurden.

1. f-strings mit Ausdrücken und Konvertierungen

Wir können f-strings verwenden, um Datumsangaben in ein bestimmtes Format zu konvertieren. Wir können auch mathematische Ausdrücke in f-strings ausführen.

Python
from datetime import datetime

name = 'David'
age = 40
d = datetime.now()

print(f'Age after five years will be {age+5}')  # age = 40
print(f'Name with quotes = {name!r}')  # name = David
print(f'Default Formatted Date = {d}')
print(f'Custom Formatted Date = {d:%m/%d/%Y}')

Output:

Code
Age after five years will be 45
Name with quotes = 'David'
Default Formatted Date = 2018-10-10 11:47:12.818831
Custom Formatted Date = 10/10/2018

2. f-strings unterstützen rohe Zeichenketten

Wir können auch rohe Zeichenketten mit f-strings erstellen.

Python
print(f'Default Formatted Date:\n{d}')
print(fr'Default Formatted Date:\n {d}')

Output:

Code
Default Formatted Date:
2018-10-10 11:47:12.818831
Default Formatted Date:\n 2018-10-10 11:47:12.818831

3. f-strings mit Objekten und Attributen

Wir können auch auf Objektattribute in f-strings zugreifen.

Python
class Employee:
    id = 0
    name = ''

    def __init__(self, i, n):
        self.id = i
        self.name = n

    def __str__(self):
        return f'E[id={self.id}, name={self.name}]'


emp = Employee(10, 'Pankaj')
print(emp)

print(f'Employee: {emp}\nName is {emp.name} and id is {emp.id}')

Output:

Code
E[id=10, name=Pankaj]
Employee: E[id=10, name=Pankaj]
Name is Pankaj and id is 10

4. f-strings rufen Funktionen auf

Wir können in der f-strings-Formatierung auch Funktionen aufrufen.

Python
def add(x, y):
    return x + y


print(f'Sum(10,20) = {add(10, 20)}')

Output:

Code
Sum(10,20) = 30

5. f-string mit Leerzeichen

Wenn im Ausdruck führende oder abschließende Leerzeichen vorhanden sind, werden sie ignoriert. Wenn der wörtliche Teil der Zeichenkette Leerzeichen enthält, werden diese beibehalten.

Code
>>> age = 4 * 20
>>> f'   Age = {  age   }  '
'   Age = 80  '

6. Lambda-Ausdrücke mit f-strings

Wir können auch Lambda-Ausdrücke in f-string-Ausdrücken verwenden.

Python
x = -20.45
print(f'Lambda Example: {(lambda x: abs(x)) (x)}')

print(f'Lambda Square Example: {(lambda x: pow(x, 2)) (5)}')

Output:

Code
Lambda Example: 20.45
Lambda Square Example: 25

7. Verschiedene Beispiele für f-strings

Lassen Sie uns einige verschiedene Beispiele für Python f-strings betrachten.

Python
print(f'{"quoted string"}')
print(f'{{ {4*10} }}')
print(f'{{{4*10}}}')

Output:

Code
quoted string
{ 40 }
{40}

Zusammenfassung

Das war's zu formatierten Zeichenketten, auch bekannt als f-strings, in Python. Python f-strings – Effizientes Formatieren

Jetzt 200 € Guthaben sichern

Testen Sie Ihr Setup auf ccloud³

Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.

centron Redaktion Technische Redaktion

Das Redaktionsteam von centron schreibt Anleitungen aus dem Betriebsalltag: getestet auf unserer eigenen Plattform, betrieben im Rechenzentrum in Hallstadt bei Bamberg.

Kategorie Python
Teilen
Noch offene Fragen?

Our team will help you with your specific setup - in German or English, by people who run the platform themselves.

War dieses Tutorial hilfreich?

Your answer is stored anonymously and helps us improve our tutorials.

Kommentare

No comments yet - be the first to ask a question about this tutorial.

Sign in to comment

Comments are open to centron customers. Sign in to your account to ask a question about this tutorial.

Weiterlesen

Das könnte Sie auch interessieren

Jetzt kostenlos anfangen

Melden Sie sich an und erhalten Sie in den ersten 60 Tagen ein Guthaben von 200 € bei centron.

Dieses Werbeangebot gilt nur für neue Konten. Angebot ausschließlich für Gewerbetreibende.

Jetzt loslegen Sales kontaktieren