Форматування рядків#

Вступ#

Рекомендований спосіб форматування тексту та чисел у Python – це використання f-рядків. Вони дозволяють вбудовувати змінні, вирази та виклики функцій безпосередньо всередину {}.

Щоб створити f-рядок, додайте f перед рядком та помістіть будь-яку змінну, вираз або виклик функції всередині {}.

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-рядки – Вбудовування змінних та виразів безпосередньо в текст.

  • f”{value}” – Відображає змінні, вирази або виклики функцій усередині рядка.

Форматування чисел у f-рядках – керування відображенням числових значень.

  • :.xf – Встановлює кількість знаків після коми, які потрібно відобразити.

  • round – Округлює число до заданої кількості знаків після коми.

  • :, – Додає коми як роздільники тисяч.

  • :.x% – Перетворює десятковий дріб на відсоток з x знаками після коми.

  • :#x – Форматує число як шістнадцяткове.

  • :b – Форматує число як двійкове.

Комбінація рядків – поєднання тексту та значень.

  • f”{value}” – Об’єднує рядки та змінні в одному виразі.

  • + оператор – Об’єднує рядки вручну з додатковим перетворенням типів.

Методи рядків – Змінюють регістр тексту.

  • upper – Перетворює всі символи на верхній регістр.

  • lower – Перетворює всі символи на нижній регістр.

Перевірка підрядків – перевірка наявності або положення тексту.

  • in – Перевіряє, чи існує слово в рядку.

  • startswith – Перевіряє, чи починається рядок із заданого значення.

  • endswith – Перевіряє, чи закінчується рядок заданим значенням.

Екрануючі послідовності – форматування виводу за допомогою спеціальних символів.

  • \n – Додає розрив рядка (новий рядок).

  • \t – Додає пробіл табуляції між елементами.

Форматування чисел у f-рядках#

f-рядки дозволяють точно контролювати десяткові знаки, округлення, роздільники тисяч тощо, використовуючи такі специфікатори формату:

Fixed Decimal Places#

.xf контролює, скільки знаків після коми відображається число.

Usage:
.xf

Параметри

Опис

x

Кількість знаків після коми, яку потрібно відобразити.

# Display pi with 2 decimal places
pi = 3.1415926535
controller.screen.print(f"Pi: {pi:.2f}")

# Output: Pi: 3.14

Rounding Numbers#

round округлює числа за межами f-рядка або всередині {}.

Usage:
round(number, x)

Параметри

Опис

number

Число, яке потрібно округлити.

x

Кількість знаків після коми, до яких потрібно округлити.

# Display a value rounded to only 2 decimal places
value = 5.6789
controller.screen.print(f"{round(value, 2)}")

# Output: 5.68

Thousands Separator#

, вставляє коми як роздільники тисяч, щоб зробити великі числа легшими для читання.

Usage:
,

Параметри

Опис

Цей специфікатор формату не має параметрів.

# Display a large number separated with commas
number = 1234567
controller.screen.print(f"{number:,}")

# Output: 1,234,567

Percentage#

.x% форматує десяткові значення у відсотках.

Usage:
.x%

Параметри

Опис

x

Кількість знаків після коми, яку потрібно відобразити.

# Display a converted decimal to a percentage
value = 0.875

controller.screen.print(f"{value:.1%}")

# Output: 87.5%

Hexadecimal#

.#x перетворює числа у шістнадцяткову систему числення.

Usage:
.#x

Параметри

Опис

Цей специфікатор формату не має параметрів.

# Convert 255 to hexadecimal
number = 255

controller.screen.print(f"{number:#x}")

# Output: 0xff

Binary#

b перетворює числа у двійкову систему числення (з основою 2).

Usage:
b

Параметри

Опис

Цей специфікатор формату не має параметрів.

# Convert 3 to binary
controller.screen.print(f"Binary: {3:b}")

# Output: Binary: 11

Об’єднання рядків#

Ви можете об’єднувати (або конкатенувати) рядки двома способами:

Using f-strings#

За допомогою f-рядків ви можете вбудовувати змінні безпосередньо всередину {}.

# Display an answer based on the given emotion
emotion = "good"

controller.screen.print(f"I'm {emotion}, you?")

+ Operator#

Ви можете об’єднувати рядки вручну за допомогою оператора +.

Примітка: Нерядкові значення спочатку потрібно перетворити на рядкові за допомогою str().

# Display the x and y values
x = 10
y = 20

controller.screen.print("X: " + str(x) + ", Y: " + str(y))

Рядкові методи#

Python надає вбудовані методи для модифікації та перевірки рядків.

upper#

upper перетворює всі літери в рядку на верхній регістр.

Usage:
upper()

Параметри

Опис

Цей метод не має параметрів.

# Display a message in uppercase
message = "vexcode"

controller.screen.print(message.upper())

# Output: VEXCODE

lower#

lower перетворює всі літери в рядку на нижній регістр.

Usage:
lower()

Параметри

Опис

Цей метод не має параметрів.

# Display a message in lowercase
message = "VEXCODE"

controller.screen.print(message.lower())

# Output: vexcode

Перевірка на наявність підрядків#

in#

in – це ключове слово, яке повертає логічне значення, що вказує на те, чи існує підрядок (слово або фрагмент тексту) у рядку.

  • True – Слово існує в рядку.

  • False – Слово не існує в рядку.

# Display a message if "Hey" is in the string
message = "Hey everyone!"

if "Hey" in message:
    controller.screen.print("Hello!")

startswith#

startswith повертає логічне значення, яке вказує, чи починається рядок із заданого значення.

  • True – Це слово є початком рядка.

  • False – Це слово не починає рядок.

Usage:
startswith(substring)

Параметри

Опис

substring

Підрядок, який потрібно перевірити на початку рядка.

# Display a message if the string starts with "AIR"
message = "AIR Drone"

if message.startswith("AIR"):
    controller.screen.print("AIR first!")

endswith#

endswith повертає логічне значення, яке вказує, чи закінчується рядок заданим значенням.

  • True – Слово закінчує рядок.

  • False – Слово не закінчує рядок.

Usage:
endswith(substring)

Параметри

Опис

substring

Підрядок, який потрібно перевірити в кінці рядка.

# Display a message if the string ends with "Drone"
message = "AIR Drone"

if message.endswith("Drone"):
    controller.screen.print("Drone last!")

Ескейп-послідовності#

Ескейп-послідовності – це спеціальні символи, що використовуються всередині рядків для форматування виводу тексту. Вони доступні лише для використання з Консоллю.

New Line#

\n переміщує текст на новий рядок під час друку.

# Display text on two lines
print("First line\nSecond line")

Tab Spacing#

\t вставляє пробіл табуляції між словами або числами.

# Display the quantity of barrels
quantity = 2
print("IDs:\t", quantity)