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.

  • upper() – Převede všechny znaky na velká písmena.

  • lower() – Převede všechny znaky na malá písmena.

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ů.

  • \n – Přidá zalomení řádku (nový řádek).

  • \t – Přidá tabulátor mezi položky.

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

x

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

number

Číslo, které se má zaokrouhlit.

x

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

x

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

substring

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

substring

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)