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.

  • upper – Konverterar alla tecken till versaler.

  • lower – Konverterar alla tecken till gemener.

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.

  • \n – Lägger till en radbrytning (ny rad).

  • \t – Lägger till ett tabbavstånd mellan objekt.

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

x

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

number

Siffran att avrunda.

x

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

x

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

substring

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

substring

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)