Форматирование строк#
Введение#
Рекомендуемый способ форматирования текста и чисел в 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– Проверяет, заканчивается ли строка заданным значением.
Эскизные последовательности – форматирование вывода со специальными символами.
Форматирование чисел в f-строках#
Строки f позволяют точно контролировать количество десятичных знаков, округление, разделители тысяч и многое другое с помощью следующих спецификаторов формата:
Fixed Decimal Places#
.xf определяет количество десятичных знаков, с которыми отображается число.
Usage:
.xf
Параметры |
Описание |
|---|---|
|
Количество десятичных знаков для отображения. |
# 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)
Параметры |
Описание |
|---|---|
|
Число для округления. |
|
Количество знаков после запятой, до которых следует округлить. |
# 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%
Параметры |
Описание |
|---|---|
|
Количество десятичных знаков для отображения. |
# 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)
Параметры |
Описание |
|---|---|
|
Подстрока, которую нужно проверить в начале строки. |
# 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)
Параметры |
Описание |
|---|---|
|
Подстрока, которую нужно проверить в конце строки. |
# 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)