Форматирование строк#

Введение#

Рекомендуемый способ форматирования текста и чисел в 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)