Formátování řetězců#
Zavedení#
F-řetězce jsou doporučeným způsobem formátování textu a čísel v Pythonu. Umožňují vkládat proměnné, výrazy a volání funkcí přímo do {}.
Chcete-li vytvořit f-řetězec, přidejte před řetězec f a dovnitř {} umístěte libovolnou proměnnou, výraz nebo volání funkce.
x = 1
y = 5
# Display the variables using an f-string
robot.screen.print(f"Position: ({x}, {y})")
# Display a calculation with an f-string
robot.screen.print(f"Sum: {5 + 3}")
# Display the robot's battery capacity with an f-string
robot.screen.print(f"Battery: {robot.get_battery_level()}%")
f-řetězce – Vkládání proměnných a výrazů přímo do textu.
f”{value}”– Zobrazí proměnné, výrazy nebo volání funkcí uvnitř řetězce.
Formátování čísel v f-řetězcích – Ovládání zobrazení číselných hodnot.
:.xf– Nastaví počet zobrazených desetinných míst.round– Zaokrouhlí číslo na zadaný počet desetinných míst.:,– Přidá čárky jako oddělovače tisíců.:.x%– Převede desetinné číslo na procento s x desetinnými místy.:#x– Formátuje číslo jako hexadecimální.:b– Formátuje číslo jako binární.
Kombinace řetězců – Kombinuje text a hodnoty.
f”{value}”– Sloučí řetězce a proměnné do jednoho výrazu.+ operator– Ruční zřetězení řetězců s volitelnou konverzí typů.
Řetězcové metody – Změna velikosti písmen textu.
Kontroly podřetězců ––Testuje přítomnost nebo pozici textu.
in– Zkontroluje, zda v řetězci existuje slovo.startswith()– Zkontroluje, zda řetězec začíná danou hodnotou.endswith()– Zkontroluje, zda řetězec končí zadanou hodnotou.
Escape sekvence – Formátování výstupu pomocí speciálních znaků.
Formátování čísel v f-řetězcích#
F-řetězce umožňují přesnou kontrolu nad desetinnými místy, zaokrouhlováním, oddělovači tisíců a dalšími funkcemi pomocí následujících specifikátorů formátu:
Fixed Decimal Places#
.xf určuje, s kolika desetinnými místy se číslo zobrazuje.
Usage:
.xf
Parametry |
Popis |
|---|---|
|
Počet zobrazených desetinných míst. |
# Display pi with 2 decimal places
pi = 3.1415926535
robot.screen.print(f"Pi: {pi:.2f}") # Output: Pi: 3.14
Rounding Numbers#
round zaokrouhluje čísla vně f-řetězce nebo uvnitř {}.
Usage:
round(number, x)
Parametry |
Popis |
|---|---|
|
Číslo, které se má zaokrouhlit. |
|
Počet desetinných míst, na které se má zaokrouhlit. |
# Display a value rounded to only 2 decimal places
value = 5.6789
robot.screen.print(f"{round(value, 2)}") # Output: 5.68
Thousands Separator#
, vkládá čárky jako oddělovače tisíců, aby se velká čísla lépe četla.
Usage:
,
Parametry |
Popis |
|---|---|
Tento specifikátor formátu nemá žádné parametry. |
# Display a large number separated with commas
number = 1234567
robot.screen.print(f"{number:,}") # Output: 1,234,567
Percentage#
.x% formátuje desetinná čísla jako procenta.
Usage:
.x%
Parametry |
Popis |
|---|---|
|
Počet zobrazených desetinných míst. |
# Display a converted decimal to a percentage
value = 0.875
robot.screen.print(f"{value:.1%}") # Output: 87.5%
Hexadecimal#
.#x převádí čísla do hexadecimálního formátu.
Usage:
.#x
Parametry |
Popis |
|---|---|
Tento specifikátor formátu nemá žádné parametry. |
# Convert 255 to hexadecimal
number = 255
robot.screen.print(f"{number:#x}") # Output: 0xff
Binary#
b převádí čísla do binární soustavy (základ 2).
Usage:
b
Parametry |
Popis |
|---|---|
Tento specifikátor formátu nemá žádné parametry. |
# Convert 3 to binary
robot.screen.print(f"Binary: {3:b}") # Output: 11
Kombinování řetězců#
Řetězce můžete kombinovat (nebo zřetězit) dvěma způsoby:
Using f-strings#
S f-řetězci můžete vkládat proměnné přímo dovnitř {}.
# Display an answer based on the given emotion
emotion = "good"
robot.screen.print(f"I'm {emotion}, you?")
+ Operator#
Řetězce můžete kombinovat ručně pomocí operátoru +.
Poznámka: Údaje, které nejsou řetězce, je nutné nejprve převést na řetězce pomocí funkce str().
# Display the x and y values
x = 10
y = 20
robot.screen.print("X: " + str(x) + ", Y: " + str(y))
Řetězcové metody#
Python nabízí vestavěné metody pro úpravu a kontrolu řetězců.
upper#
upper převede všechna písmena v řetězci na velká písmena.
Usage:
upper()
Parametry |
Popis |
|---|---|
Tato metoda nemá žádné parametry. |
message = "vexcode"
robot.screen.print(message.upper()) # Output: VEXCODE
lower#
lower převede všechna písmena v řetězci na malá písmena.
Usage:
lower()
Parametry |
Popis |
|---|---|
Tato metoda nemá žádné parametry. |
message = "VEXCODE"
robot.screen.print(message.lower()) # Output: vexcode
Kontrola podřetězců#
in#
in je klíčové slovo, které vrací booleovskou hodnotu označující, zda v řetězci existuje podřetězec (slovo nebo část textu).
True– Slovo v řetězci existuje.False– Slovo v řetězci neexistuje.
message = "Hey everyone!"
if "Hey" in message:
robot.screen.print("Hello!")
startswith#
startswith vrací booleovskou hodnotu, která označuje, zda řetězec začíná danou hodnotou.
True– Slovo začíná řetězec.False– Slovo nezačíná řetězec.
Usage:
startswith(substring)
Parametry |
Popis |
|---|---|
|
Podřetězec, který se má zkontrolovat na začátku řetězce. |
message = "AIM Robot"
if message.startswith("AIM"):
robot.screen.print("AIM first!")
endswith#
endswith vrací booleovskou hodnotu, která indikuje, zda řetězec končí danou hodnotou.
True– Slovo ukončuje řetězec.False– Slovo nekončí řetězec.
Usage:
endswith(substring)
Parametry |
Popis |
|---|---|
|
Podřetězec, který se má na konci řetězce kontrolovat. |
message = "AIM Robot"
if message.endswith("Robot"):
robot.screen.print("Robot last!")
Únikové sekvence#
Řídicí sekvence jsou speciální znaky používané uvnitř řetězců k formátování textového výstupu. Jsou k dispozici pouze pro použití s konzolí.
New Line#
\n přesune text na nový řádek při tisku.
# Display text on two lines
print("First line\nSecond line")
Tab Spacing#
\t vloží tabulátor mezi slova nebo čísla,
# Display the quantity of barrels
quantity = 2
print("Barrels:\t", quantity)