Strängformatering#

Introduktion#

Metoden .format() i Python används för att skapa strängar som innehåller variabler, uttryck eller värden. Denna metod ersätter platshållare för klammerparenteser {} i en sträng med värden som anges inuti .format().

x = 1
y = 5

# Display the variables using .format()
print("Position: ({}, {})".format(x, y))

# Display a calculation using .format()
print("Sum: {}".format(5 + 3))

wait(1, SECONDS)
# Display the time using .format()
print("Time: {}".format(timer.time(SECONDS)))

Formatera tal med .format – Infoga värden och uttryck i en sträng.

  • :.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.

Kombinera strängar – Kombinera text och värden.

  • .format() – Kombinerar 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.

Kontrollerar delsträngar – Testar 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 med .format#

.format kan användas för att styra hur tal visas, inklusive decimaler, avrundning och andra formateringsstilar som:

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
console.print("Pi: {:.2f}".format(pi))
# Output: Pi: 3.14

Rounding Numbers#

round avrundar ett tal till ett visst antal decimaler före formatering.

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
console.print("Rounded: {}".format(round(value, 2)))
# Output: Rounded: 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
print("Formatted: ")
print("{:,}".format(number))
# Output: Formatted: 1,234,567

Percentage#

:.x% formaterar decimalvärden som procenttal genom att multiplicera värdet med 100 och lägga till ett procenttecken.

Usage:
:.x%

Parametrar

Beskrivning

x

Antalet decimaler som ska visas.

def main():
    # Display a converted decimal to a percentage
    value = 0.875
    console.print("Score: {:.1%}".format(value))
    # Output: Score: 87.5%

# Start threads — Do not delete
start_thread(main)

Hexadecimal#

:#x konverterar tal till hexadecimala tal.

Usage:
:#x

Parametrar

Beskrivning

Denna formatspecifikation har inga parametrar.

def main():
    # Convert 255 to hexadecimal
    number = 255
    console.print("Hex: {:#x}".format(number))
    # Output: Hex: 0xff

# Start threads — Do not delete
start_thread(main)

Binary#

:b konverterar tal till binära tal (bas 2).

Usage:
:b

Parametrar

Beskrivning

Denna formatspecifikation har inga parametrar.

def main():
    # Convert 3 to binary
    console.print("Binary: {:b}".format(3))
    # Output: Binary: 11

# Start threads — Do not delete
start_thread(main)

Kombinera strängar#

Du kan kombinera (eller sammanfoga) strängar med två metoder:

Using .format#

Infoga värden direkt i strängen med hjälp av {}.

def main():
    # Display an answer based on the given emotion
    emotion = "good"
    console.print("I'm {}, you?".format(emotion))

# Start threads — Do not delete
start_thread(main)

+ Operator#

Sammanfoga flera delar med hjälp av +.

Obs: Icke-strängar måste först konverteras till strängar med hjälp av str().

def main():
    # Display the x and y values
    x = 10
    y = 20
    console.print("X: " + str(x) + ", Y: " + str(y))

# Start threads — Do not delete
start_thread(main)

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.

def main():
    # Capitalize a string with .upper()
    message = "vexcode"
    console.print(message.upper())  # Output: VEXCODE

# Start threads — Do not delete
start_thread(main)

lower#

lower konverterar alla bokstäver i en sträng till gemener.

Usage:
lower()

Parametrar

Beskrivning

Den här metoden har inga parametrar.

def main():
    # Make a string lowercase with .lower()
    message = "VEXCODE"
    console.print(message.lower())  # Output: vexcode

# Start threads — Do not delete
start_thread(main)

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.

def main():
    message = "Hey everyone!"
    if "Hey" in message:
        console.print("Hello!")

# Start threads — Do not delete
start_thread(main)

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.

def main():
    # Check for 'V5' at the start of a string
    message = "V5 Robot"

    if message.startswith("V5"):
        console.print("V5 first!")

# Start threads — Do not delete
start_thread(main)

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.

def main():
    # Check for `Robot` at the end of a string
    message = "V5 Robot"

    if message.endswith("Robot"):
        console.print("Robot last!")

# Start threads — Do not delete
start_thread(main)

Escape-sekvenser#

Escape-sekvenser är specialtecken som används inuti strängar för att formatera textutdata.

New Line#

\n flyttar text till en ny rad vid utskrift.

def main():
    # Display text on two lines
    console.print("First line\nSecond line")

# Start threads — Do not delete
start_thread(main)

Tab Spacing#

\t infogar ett tabbmellanslag mellan ord eller siffror.

def main():
    # Display the quantity of disks
    quantity = 2
    console.print("Disks:\t", quantity)

# Start threads — Do not delete
start_thread(main)