Formatowanie ciągu znaków#
Wstęp#
Zalecanym sposobem formatowania tekstu i liczb w Pythonie jest użycie ciągów znaków f-string. Umożliwiają one osadzanie zmiennych, wyrażeń i wywołań funkcji bezpośrednio w {}.
Aby utworzyć ciąg f, dodaj f przed ciągiem i umieść dowolne wywołanie zmiennej, wyrażenia lub funkcji wewnątrz {}.
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-strings – Osadzanie zmiennych i wyrażeń bezpośrednio w tekście.
f”{value}”– Wyświetla zmienne, wyrażenia lub wywołania funkcji wewnątrz ciągu.
Formatowanie liczb w ciągach f – Kontroluj sposób wyświetlania wartości liczbowych.
:.xf– Ustawia liczbę miejsc dziesiętnych do wyświetlenia.round– Zaokrągla liczbę do podanej liczby miejsc dziesiętnych.:,– Dodaje przecinki jako separatory tysięcy.:.x%– Konwertuje liczbę dziesiętną na wartość procentową z x miejscami dziesiętnymi.:#x– Formatuje liczbę do postaci szesnastkowej.:b– Formatuje liczbę jako binarną.
Kombinacja ciągów – łączenie tekstu i wartości.
f”{value}”– Połącz ciągi znaków i zmienne w jednym wyrażeniu.operator
+– ręczne łączenie ciągów znaków z opcjonalną konwersją typu.
Metody String – zmiana wielkości liter tekstu.
upper– Zamienia wszystkie znaki na wielkie litery.lower– Zamienia wszystkie znaki na małe litery.
Sprawdzanie podciągów – testowanie obecności i położenia tekstu.
in– Sprawdza, czy słowo istnieje w ciągu.startswith– Sprawdza, czy ciąg zaczyna się od podanej wartości.endswith– Sprawdza, czy ciąg kończy się podaną wartością.
Sekwencje wyjścia – formatowanie wyników przy użyciu znaków specjalnych.
Formatowanie liczb w ciągach f#
Ciągi f umożliwiają precyzyjną kontrolę miejsc dziesiętnych, zaokrąglania, separatorów tysięcy i wielu innych funkcji przy użyciu następujących specyfikatorów formatu:
Fixed Decimal Places#
.xf kontroluje liczbę miejsc dziesiętnych wyświetlaną w danej liczbie.
Usage:
.xf
Parametry |
Opis |
|---|---|
|
Liczba miejsc dziesiętnych do wyświetlenia. |
# Display pi with 2 decimal places
pi = 3.1415926535
controller.screen.print(f"Pi: {pi:.2f}")
# Output: Pi: 3.14
Rounding Numbers#
round rounds liczby znajdujące się poza ciągiem f lub wewnątrz {}.
Usage:
round(number, x)
Parametry |
Opis |
|---|---|
|
Liczba do zaokrąglenia. |
|
Liczba miejsc dziesiętnych, do których należy zaokrąglić. |
# Display a value rounded to only 2 decimal places
value = 5.6789
controller.screen.print(f"{round(value, 2)}")
# Output: 5.68
Thousands Separator#
, wstawia przecinki jako separatory tysięcy, dzięki czemu duże liczby stają się bardziej czytelne.
Usage:
,
Parametry |
Opis |
|---|---|
Ten specyfikator formatu nie ma żadnych parametrów. |
# Display a large number separated with commas
number = 1234567
controller.screen.print(f"{number:,}")
# Output: 1,234,567
Percentage#
.x% formatuje wartości dziesiętne jako procenty.
Usage:
.x%
Parametry |
Opis |
|---|---|
|
Liczba miejsc dziesiętnych do wyświetlenia. |
# Display a converted decimal to a percentage
value = 0.875
controller.screen.print(f"{value:.1%}")
# Output: 87.5%
Hexadecimal#
.#x konwertuje liczby na system szesnastkowy.
Usage:
.#x
Parametry |
Opis |
|---|---|
Ten specyfikator formatu nie ma żadnych parametrów. |
# Convert 255 to hexadecimal
number = 255
controller.screen.print(f"{number:#x}")
# Output: 0xff
Binary#
b zamienia liczby na system binarny (podstawa 2).
Usage:
b
Parametry |
Opis |
|---|---|
Ten specyfikator formatu nie ma żadnych parametrów. |
# Convert 3 to binary
controller.screen.print(f"Binary: {3:b}")
# Output: Binary: 11
Łączenie strun#
Można łączyć (lub konkatenować) ciągi znaków, stosując dwa podejścia:
Using f-strings#
Za pomocą f-stringów można osadzać zmienne bezpośrednio wewnątrz {}.
# Display an answer based on the given emotion
emotion = "good"
controller.screen.print(f"I'm {emotion}, you?")
+ Operator#
Możesz łączyć ciągi znaków ręcznie, korzystając z operatora +.
Uwaga: Elementy niebędące ciągami znaków muszą zostać najpierw przekonwertowane na ciągi znaków za pomocą str().
# Display the x and y values
x = 10
y = 20
controller.screen.print("X: " + str(x) + ", Y: " + str(y))
Metody ciągów#
Python udostępnia wbudowane metody modyfikacji i sprawdzania ciągów znaków.
upper#
upper zamienia wszystkie litery w ciągu na wielkie.
Usage:
upper()
Parametry |
Opis |
|---|---|
Ta metoda nie ma żadnych parametrów. |
# Display a message in uppercase
message = "vexcode"
controller.screen.print(message.upper())
# Output: VEXCODE
lower#
lower zamienia wszystkie litery w ciągu na małe.
Usage:
lower()
Parametry |
Opis |
|---|---|
Ta metoda nie ma żadnych parametrów. |
# Display a message in lowercase
message = "VEXCODE"
controller.screen.print(message.lower())
# Output: vexcode
Sprawdzanie podciągów#
in#
in to słowo kluczowe, które zwraca wartość logiczną wskazującą, czy w ciągu występuje podciąg (słowo lub fragment tekstu).
True– Słowo istnieje w ciągu.False– Słowo nie istnieje w ciągu.
# Display a message if "Hey" is in the string
message = "Hey everyone!"
if "Hey" in message:
controller.screen.print("Hello!")
startswith#
startswith zwraca wartość logiczną wskazującą, czy ciąg znaków zaczyna się od podanej wartości.
True– Słowo rozpoczyna ciąg.False– Słowo nie rozpoczyna ciągu.
Usage:
startswith(substring)
Parametry |
Opis |
|---|---|
|
Podciąg, który należy sprawdzić na początku ciągu. |
# Display a message if the string starts with "AIR"
message = "AIR Drone"
if message.startswith("AIR"):
controller.screen.print("AIR first!")
endswith#
endswith zwraca wartość logiczną wskazującą, czy ciąg znaków kończy się podaną wartością.
True– Słowo kończy ciąg.False– Słowo nie kończy ciągu.
Usage:
endswith(substring)
Parametry |
Opis |
|---|---|
|
Podciąg, który należy sprawdzić na końcu ciągu. |
# Display a message if the string ends with "Drone"
message = "AIR Drone"
if message.endswith("Drone"):
controller.screen.print("Drone last!")
Sekwencje ucieczki#
Sekwencje ucieczki to znaki specjalne używane w ciągach znaków do formatowania tekstu wyjściowego. Są one dostępne tylko do użycia z Konsolą.
New Line#
\n przenosi tekst do nowego wiersza podczas drukowania.
# Display text on two lines
print("First line\nSecond line")
Tab Spacing#
\t wstawia tabulator pomiędzy wyrazami lub liczbami.
# Display the quantity of barrels
quantity = 2
print("IDs:\t", quantity)