Strängformatering#
Introduktion#
Det rekommenderade sättet att formatera text och siffror i Python är med f-strängar. 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
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-strängar – 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 – Testa 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
controller.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
controller.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
controller.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
controller.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
controller.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
controller.screen.print(f"Binary: {3:b}")
# Output: Binary: 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"
controller.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
controller.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. |
# Display a message in uppercase
message = "vexcode"
controller.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. |
# Display a message in lowercase
message = "VEXCODE"
controller.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.
# Display a message if "Hey" is in the string
message = "Hey everyone!"
if "Hey" in message:
controller.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. |
# Display a message if the string starts with "AIR"
message = "AIR Drone"
if message.startswith("AIR"):
controller.screen.print("AIR 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. |
# Display a message if the string ends with "Drone"
message = "AIR Drone"
if message.endswith("Drone"):
controller.screen.print("Drone 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 Console.
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("IDs:\t", quantity)