Zeichenkettenformatierung#
Einführung#
Die empfohlene Methode zur Formatierung von Text und Zahlen in Python ist die Verwendung von f-Strings. Diese ermöglichen es, Variablen, Ausdrücke und Funktionsaufrufe direkt in {} einzubetten.
Um eine f-Zeichenkette zu erstellen, fügen Sie f vor der Zeichenkette ein und platzieren Sie jede Variable, jeden Ausdruck oder jeden Funktionsaufruf innerhalb von {}.
x = 1
y = 5
# Display the variables using an f-string
controller.screen.print(f"Position: ({x}, {y})")
# Display a calculation with an f-string
controller.screen.print(f"Sum: {5 + 3}")
# Display the robot's battery capacity with an f-string
controller.screen.print(f"Battery: {controller.get_battery_level()}%")
f-Strings – Variablen und Ausdrücke direkt in den Text einbetten.
f”{value}”– Zeigt Variablen, Ausdrücke oder Funktionsaufrufe innerhalb einer Zeichenkette an.
Formatierung von Zahlen in f-Strings – Steuerung der Darstellung numerischer Werte.
:.xf– Legt die Anzahl der anzuzeigenden Dezimalstellen fest.round– Rundet eine Zahl auf eine vorgegebene Anzahl von Dezimalstellen.:,– Fügt Kommas als Tausendertrennzeichen hinzu.:.x%– Wandelt eine Dezimalzahl in einen Prozentsatz mit x Dezimalstellen um.:#x– Formatiert eine Zahl als Hexadezimalzahl.:b– Formatiert eine Zahl als Binärzahl.
Zeichenkettenkombination – Text und Werte kombinieren.
f”{value}”– Kombiniert Zeichenketten und Variablen in einem einzigen Ausdruck.+operator – Strings manuell verketten, optional mit Typkonvertierung.
String-Methoden – Groß-/Kleinschreibung von Text ändern.
upper– Wandelt alle Zeichen in Großbuchstaben um.lower– Wandelt alle Zeichen in Kleinbuchstaben um.
Teilstringprüfung – Test auf Vorhandensein oder Position von Text.
in– Prüft, ob ein Wort in einer Zeichenkette existiert.startswith– Prüft, ob eine Zeichenkette mit einem gegebenen Wert beginnt.endswith– Prüft, ob eine Zeichenkette mit einem gegebenen Wert endet.
Escape-Sequenzen – Ausgabe mit Sonderzeichen formatieren.
Zahlen in f-Strings formatieren#
f-Strings ermöglichen die präzise Steuerung von Dezimalstellen, Rundungen, Tausendertrennzeichen und mehr durch die Verwendung der folgenden Formatbezeichner:
Fixed Decimal Places#
.xf steuert, mit wie vielen Dezimalstellen eine Zahl angezeigt wird.
Usage:
.xf
Parameter |
Beschreibung |
|---|---|
|
Die Anzahl der anzuzeigenden Dezimalstellen. |
# Display pi with 2 decimal places
pi = 3.1415926535
controller.screen.print(f"Pi: {pi:.2f}")
# Output: Pi: 3.14
Rounding Numbers#
round rundet Zahlen außerhalb einer f-Saite oder innerhalb der {}.
Usage:
round(number, x)
Parameter |
Beschreibung |
|---|---|
|
Die zu rundende Zahl. |
|
Die Anzahl der Dezimalstellen, auf die gerundet werden soll. |
# Display a value rounded to only 2 decimal places
value = 5.6789
controller.screen.print(f"{round(value, 2)}")
# Output: 5.68
Thousands Separator#
, fügt Kommas als Tausendertrennzeichen ein, um große Zahlen besser lesbar zu machen.
Usage:
,
Parameter |
Beschreibung |
|---|---|
Dieser Formatbezeichner hat keine Parameter. |
# Display a large number separated with commas
number = 1234567
controller.screen.print(f"{number:,}")
# Output: 1,234,567
Percentage#
.x% formatiert Dezimalwerte als Prozentsätze.
Usage:
.x%
Parameter |
Beschreibung |
|---|---|
|
Die Anzahl der anzuzeigenden Dezimalstellen. |
# Display a converted decimal to a percentage
value = 0.875
controller.screen.print(f"{value:.1%}")
# Output: 87.5%
Hexadecimal#
.#x wandelt Zahlen in Hexadezimalzahlen um.
Usage:
.#x
Parameter |
Beschreibung |
|---|---|
Dieser Formatbezeichner hat keine Parameter. |
# Convert 255 to hexadecimal
number = 255
controller.screen.print(f"{number:#x}")
# Output: 0xff
Binary#
b wandelt Zahlen in Binärzahlen (Basis 2) um.
Usage:
b
Parameter |
Beschreibung |
|---|---|
Dieser Formatbezeichner hat keine Parameter. |
# Convert 3 to binary
controller.screen.print(f"Binary: {3:b}")
# Output: Binary: 11
Kombination von Zeichenketten#
Sie können Zeichenketten auf zwei Arten kombinieren (oder verketten):
Using f-strings#
Mit f-Strings können Sie Variablen direkt in {} einbetten.
# Display an answer based on the given emotion
emotion = "good"
controller.screen.print(f"I'm {emotion}, you?")
+ Operator#
Sie können Zeichenketten manuell mit dem Operator + kombinieren.
Hinweis: Nicht-Zeichenketten müssen zuerst mit str()
# Display the x and y values
x = 10
y = 20
controller.screen.print("X: " + str(x) + ", Y: " + str(y))
String-Methoden#
Python bietet integrierte Methoden zum Modifizieren und Überprüfen von Zeichenketten.
upper#
upper wandelt alle Buchstaben in einer Zeichenkette in Großbuchstaben um.
Usage:
upper()
Parameter |
Beschreibung |
|---|---|
Diese Methode hat keine Parameter. |
# Display a message in uppercase
message = "vexcode"
controller.screen.print(message.upper())
# Output: VEXCODE
lower#
lower wandelt alle Buchstaben in einer Zeichenkette in Kleinbuchstaben um.
Usage:
lower()
Parameter |
Beschreibung |
|---|---|
Diese Methode hat keine Parameter. |
# Display a message in lowercase
message = "VEXCODE"
controller.screen.print(message.lower())
# Output: vexcode
Prüfung auf Teilzeichenketten#
in#
in ist ein Schlüsselwort, das einen booleschen Wert zurückgibt, der angibt, ob eine Teilzeichenkette (ein Wort oder ein Textabschnitt) in einer Zeichenkette vorhanden ist.
True– Das Wort ist in der Zeichenkette enthalten.False– Das Wort existiert nicht in der Zeichenkette.
# Display a message if "Hey" is in the string
message = "Hey everyone!"
if "Hey" in message:
controller.screen.print("Hello!")
startswith#
startswith gibt einen booleschen Wert zurück, der angibt, ob eine Zeichenkette mit einem bestimmten Wert beginnt.
True– Das Wort beginnt die Zeichenkette.False– Das Wort steht nicht am Anfang der Zeichenkette.
Usage:
startswith(substring)
Parameter |
Beschreibung |
|---|---|
|
Die zu überprüfende Teilzeichenkette am Anfang der Zeichenkette. |
# Display a message if the string starts with "AIR"
message = "AIR Drone"
if message.startswith("AIR"):
controller.screen.print("AIR first!")
endswith#
endswith gibt einen booleschen Wert zurück, der angibt, ob eine Zeichenkette mit einem bestimmten Wert endet.
True– Das Wort beendet die Zeichenkette.False– Das Wort beendet nicht die Zeichenkette.
Usage:
endswith(substring)
Parameter |
Beschreibung |
|---|---|
|
Die zu überprüfende Teilzeichenkette am Ende der Zeichenkette. |
# Display a message if the string ends with "Drone"
message = "AIR Drone"
if message.endswith("Drone"):
controller.screen.print("Drone last!")
Fluchtsequenzen#
Escape-Sequenzen sind spezielle Zeichen, die innerhalb von Zeichenketten verwendet werden, um die Textausgabe zu formatieren. Sie sind nur für die Verwendung mit der Konsole verfügbar.
New Line#
\n verschiebt den Text beim Drucken in eine neue Zeile.
# Display text on two lines
print("First line\nSecond line")
Tab Spacing#
\t fügt ein Tabulatorzeichen zwischen Wörtern oder Zahlen ein.
# Display the quantity of barrels
quantity = 2
print("IDs:\t", quantity)