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().
def main():
x = 1
y = 5
# Display the variables using .format()
console.print("Position: ({}, {})".format(x, y))
# Start threads — Do not delete
start_thread(main)
def main():
# Display a calculation using .format()
console.print("Sum: {}".format(5 + 3))
# Start threads — Do not delete
start_thread(main)
def main():
wait(1, SECONDS)
# Display the time using .format()
console.print("Time: {}".format(timer.time(SECONDS)))
# Start threads — Do not delete
start_thread(main)
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.
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.
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 |
|---|---|
|
Antalet decimaler som ska visas. |
def main():
# Display pi with 2 decimal places
pi = 3.1415926535
console.print("Pi: {:.2f}".format(pi))
# Output: Pi: 3.14
# Start threads — Do not delete
start_thread(main)
Rounding Numbers#
round avrundar ett tal till ett visst antal decimaler före formatering.
Usage:
round(number, x)
Parametrar |
Beskrivning |
|---|---|
|
Siffran att avrunda. |
|
Antalet decimaler att avrunda till. |
def main():
# Display a value rounded to only 2 decimal places
value = 5.6789
console.print("Rounded: {}".format(round(value, 2)))
# Output: Rounded: 5.68
# Start threads — Do not delete
start_thread(main)
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. |
def main():
# Display a large number separated with commas
number = 1234567
console.print("Formatted: ")
console.new_line()
console.print("{:,}".format(number))
# Output: Formatted: 1,234,567
# Start threads — Do not delete
start_thread(main)
Percentage#
:.x% formaterar decimalvärden som procenttal genom att multiplicera värdet med 100 och lägga till ett procenttecken.
Usage:
:.x%
Parametrar |
Beskrivning |
|---|---|
|
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 |
|---|---|
|
Delsträngen som ska kontrolleras i början av strängen. |
def main():
# Check for 'GO' at the start of a string
message = "GO Robot"
if message.startswith("GO"):
console.print("GO 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 |
|---|---|
|
Delsträngen som ska kontrolleras i slutet av strängen. |
def main():
# Check for `Robot` at the end of a string
message = "GO 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)