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

Введение#

f-строки — это рекомендуемый способ форматирования текста и чисел в Python. Они позволяют встраивать переменные, выражения и вызовы функций непосредственно внутрь {}.

Чтобы создать f-строку, добавьте перед строкой f и поместите любую переменную, выражение или вызов функции внутрь {}.

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-строки — встраивание переменных и выражений непосредственно в текст.

  • f”{value}” – Отображает переменные, выражения или вызовы функций внутри строки.

Форматирование чисел в f-строках – управление отображением числовых значений.

  • :.xf – Задает количество отображаемых десятичных знаков.

  • round – Округляет число до заданного количества десятичных знаков.

  • :, – Добавляет запятые в качестве разделителей тысяч.

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

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

  • :b – Форматирует число в двоичном виде.

Сочетание строк – объединение текста и значений.

  • f”{value}” – Объединить строки и переменные в одном выражении.

  • + operator – Объединять строки вручную с необязательным преобразованием типа.

Строковые методы – Изменение регистра текста.

  • 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
robot.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
robot.screen.print(f"{round(value, 2)}")  # Output: 5.68

Thousands Separator#

, вставляет запятые в качестве разделителей тысяч, чтобы сделать большие числа более читабельными.

Usage:
,

Параметры

Описание

Этот спецификатор формата не имеет параметров.

# Display a large number separated with commas
number = 1234567
robot.screen.print(f"{number:,}")  # Output: 1,234,567

Percentage#

.x% форматирует десятичные значения в виде процентов.

Usage:
.x%

Параметры

Описание

x

Количество десятичных знаков для отображения.

# Display a converted decimal to a percentage
value = 0.875
robot.screen.print(f"{value:.1%}")  # Output: 87.5%

Hexadecimal#

.#x преобразует числа в шестнадцатеричный формат.

Usage:
.#x

Параметры

Описание

Этот спецификатор формата не имеет параметров.

# Convert 255 to hexadecimal
number = 255
robot.screen.print(f"{number:#x}")  # Output: 0xff

Binary#

b преобразует числа в двоичную систему (основание 2).

Usage:
b

Параметры

Описание

Этот спецификатор формата не имеет параметров.

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

Сочетание струн#

Объединять (или конкатенировать) строки можно двумя способами:

Using f-strings#

С помощью f-строк вы можете встраивать переменные непосредственно внутрь {}.

# Display an answer based on the given emotion
emotion = "good"
robot.screen.print(f"I'm {emotion}, you?")

+ Operator#

Вы можете объединять строки вручную, используя оператор +.

Примечание: Нестроковые значения сначала необходимо преобразовать в строки с помощью функции str().

# Display the x and y values
x = 10
y = 20
robot.screen.print("X: " + str(x) + ", Y: " + str(y))

Методы работы со строками#

В Python предусмотрены встроенные методы для изменения и проверки строк.

upper#

upper преобразует все буквы в строке в верхний регистр.

Usage:
upper()

Параметры

Описание

Этот метод не имеет параметров.

message = "vexcode"
robot.screen.print(message.upper())  # Output: VEXCODE

lower#

lower преобразует все буквы в строке в нижний регистр.

Usage:
lower()

Параметры

Описание

Этот метод не имеет параметров.

message = "VEXCODE"
robot.screen.print(message.lower())  # Output: vexcode

Проверка наличия подстрок#

in#

Ключевое слово in возвращает логическое значение, указывающее, существует ли подстрока (слово или фрагмент текста) в строке.

  • True – Слово существует в строке.

  • False – Этого слова нет в строке.

message = "Hey everyone!"
if "Hey" in message:
    robot.screen.print("Hello!")

startswith#

Функция startswith возвращает логическое значение, указывающее, начинается ли строка с заданного значения.

  • True – Слово начинает строку.

  • False – Это слово не является началом строки.

Usage:
startswith(substring)

Параметры

Описание

substring

Подстрока, которую нужно проверить в начале строки.

message = "AIM Robot"

if message.startswith("AIM"):
    robot.screen.print("AIM first!")

endswith#

Функция endswith возвращает логическое значение, указывающее, заканчивается ли строка заданным значением.

  • True – Это слово завершает строку.

  • False – Слово не завершает строку.

Usage:
endswith(substring)

Параметры

Описание

substring

Подстрока, которую нужно проверить в конце строки.

message = "AIM Robot"

if message.endswith("Robot"):
    robot.screen.print("Robot 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("Barrels:\t", quantity)