Strängformatering#
Introduktion#
f-strängar är det rekommenderade sättet att formatera text och siffror i Python. De gör det möjligt att bädda in variabler, uttryck och funktionsanrop direkt i {}.
För att skapa en f-sträng, lägg till f före strängen och placera valfri variabel, uttryck eller funktionsanrop inuti {}.
x = 1
y = 5
# Display the variables using an f-string
robot.screen.print(f"Position: ({x}, {y})")
# Display a calculation with an f-string
robot.screen.print(f"Sum: {5 + 3}")
# Display the robot's battery capacity with an f-string
robot.screen.print(f"Battery: {robot.get_battery_level()}%")
f-Strings – Bädda in variabler och uttryck direkt i text.
f”{value}”– Visar variabler, uttryck eller funktionsanrop inuti en sträng.
Formatera tal i f-strängar – Kontrollera hur numeriska värden visas.
:.xf– Anger antalet decimaler som ska visas.round– Avrundar ett tal till ett givet antal decimaler.:,– Lägger till kommatecken som tusentalsavgränsare.:.x%– Konverterar ett decimaltal till en procentandel med x decimaler.:#x– Formaterar ett tal som hexadecimalt.:b– Formaterar ett tal som binärt.
Strängkombination – Kombinera text och värden.
f”{value}”– Kombinera strängar och variabler i ett enda uttryck.+ operator– Sammanfoga strängar manuellt med valfri typkonvertering.
Strängmetoder – Ändra skiftläge i text.
Kontroll av delsträngar –– Test av textens närvaro eller position.
in– Kontrollerar om ett ord finns i en sträng.startswith()– Kontrollerar om en sträng börjar med ett givet värde.endswith()– Kontrollerar om en sträng slutar med ett givet värde.
Escape-sekvenser – Formatera utdata med specialtecken.
Formatera tal i f-strängar#
f-strängar möjliggör exakt kontroll över decimaler, avrundning, tusentalsavgränsare och mer genom att använda följande formatspecifikationer:
Fixed Decimal Places#
.xf styr hur många decimaler ett tal visas med.
Usage:
.xf
Parametrar |
Beskrivning |
|---|---|
|
Antalet decimaler som ska visas. |
# Display pi with 2 decimal places
pi = 3.1415926535
robot.screen.print(f"Pi: {pi:.2f}") # Output: Pi: 3.14
Rounding Numbers#
round avrundar tal utanför en f-sträng eller innanför {}.
Usage:
round(number, x)
Parametrar |
Beskrivning |
|---|---|
|
Siffran att avrunda. |
|
Antalet decimaler att avrunda till. |
# Display a value rounded to only 2 decimal places
value = 5.6789
robot.screen.print(f"{round(value, 2)}") # Output: 5.68
Thousands Separator#
, infogar kommatecken som tusentalsavgränsare för att göra stora tal mer läsbara.
Usage:
,
Parametrar |
Beskrivning |
|---|---|
Denna formatspecifikation har inga parametrar. |
# Display a large number separated with commas
number = 1234567
robot.screen.print(f"{number:,}") # Output: 1,234,567
Percentage#
.x% formaterar decimalvärden som procenttal.
Usage:
.x%
Parametrar |
Beskrivning |
|---|---|
|
Antalet decimaler som ska visas. |
# Display a converted decimal to a percentage
value = 0.875
robot.screen.print(f"{value:.1%}") # Output: 87.5%
Hexadecimal#
.#x konverterar tal till hexadecimala tal.
Usage:
.#x
Parametrar |
Beskrivning |
|---|---|
Denna formatspecifikation har inga parametrar. |
# Convert 255 to hexadecimal
number = 255
robot.screen.print(f"{number:#x}") # Output: 0xff
Binary#
b omvandlar tal till binära tal (bas 2).
Usage:
b
Parametrar |
Beskrivning |
|---|---|
Denna formatspecifikation har inga parametrar. |
# Convert 3 to binary
robot.screen.print(f"Binary: {3:b}") # Output: 11
Kombinera strängar#
Du kan kombinera (eller sammanfoga) strängar med två metoder:
Using f-strings#
Med f-strängar kan du bädda in variabler direkt inuti {}.
# Display an answer based on the given emotion
emotion = "good"
robot.screen.print(f"I'm {emotion}, you?")
+ Operator#
Du kan kombinera strängar manuellt med hjälp av operatorn +.
Obs: Icke-strängar måste först konverteras till strängar med hjälp av str().
# Display the x and y values
x = 10
y = 20
robot.screen.print("X: " + str(x) + ", Y: " + str(y))
Strängmetoder#
Python tillhandahåller inbyggda metoder för att modifiera och kontrollera strängar.
upper#
upper konverterar alla bokstäver i en sträng till versaler.
Usage:
upper()
Parametrar |
Beskrivning |
|---|---|
Den här metoden har inga parametrar. |
message = "vexcode"
robot.screen.print(message.upper()) # Output: VEXCODE
lower#
lower konverterar alla bokstäver i en sträng till gemener.
Usage:
lower()
Parametrar |
Beskrivning |
|---|---|
Den här metoden har inga parametrar. |
message = "VEXCODE"
robot.screen.print(message.lower()) # Output: vexcode
Kontrollerar delsträngar#
in#
in är ett nyckelord som returnerar ett booleskt värde som anger om en delsträng (ord eller textdel) finns i en sträng.
True– Ordet finns i strängen.False– Ordet finns inte i strängen.
message = "Hey everyone!"
if "Hey" in message:
robot.screen.print("Hello!")
startswith#
startswith returnerar ett booleskt värde som anger om en sträng börjar med ett givet värde.
True– Ordet börjar strängen.False– Ordet börjar inte strängen.
Usage:
startswith(substring)
Parametrar |
Beskrivning |
|---|---|
|
Delsträngen som ska kontrolleras i början av strängen. |
message = "AIM Robot"
if message.startswith("AIM"):
robot.screen.print("AIM first!")
endswith#
endswith returnerar ett booleskt värde som anger om en sträng slutar med ett givet värde.
True– Ordet avslutar strängen.False– Ordet avslutar inte strängen.
Usage:
endswith(substring)
Parametrar |
Beskrivning |
|---|---|
|
Delsträngen som ska kontrolleras i slutet av strängen. |
message = "AIM Robot"
if message.endswith("Robot"):
robot.screen.print("Robot last!")
Escape-sekvenser#
Escape-sekvenser är specialtecken som används inuti strängar för att formatera textutdata. De är endast tillgängliga för användning med konsolen.
New Line#
\n flyttar text till en ny rad vid utskrift.
# Display text on two lines
print("First line\nSecond line")
Tab Spacing#
\t infogar ett tabbmellanslag mellan ord eller siffror,
# Display the quantity of barrels
quantity = 2
print("Barrels:\t", quantity)