Форматирование строк#
Введение#
Метод .format() в Python используется для создания строк, содержащих переменные, выражения или значения. Этот метод заменяет фигурные скобки {} в строке значениями, указанными внутри .format().
def main():
x = 1
y = 5
# Display the variables using .format()
console.print("Position: ({}, {})".format(x, y))
# Start threads — Do not delete
start_thread(main)
def main():
# Display a calculation using .format()
console.print("Sum: {}".format(5 + 3))
# Start threads — Do not delete
start_thread(main)
def main():
wait(1, SECONDS)
# Display the time using .format()
console.print("Time: {}".format(timer.time(SECONDS)))
# Start threads — Do not delete
start_thread(main)
Форматирование чисел с помощью .format – Вставка значений и выражений в строку.
:.xf– Задает количество отображаемых десятичных знаков.round– Округляет число до заданного количества десятичных знаков.:,– Добавляет запятые в качестве разделителей тысяч.:.x%– Преобразует десятичную дробь в процент с x знаками после запятой.:#x– Форматирует число в шестнадцатеричном формате.:b– Форматирует число в двоичном виде.
Объединение строк – объединение текста и значений.
.format()– Объединить строки и переменные в одном выражении.+ operator– Объединять строки вручную с необязательным преобразованием типа.
Строковые методы – Изменение регистра текста.
upper()– Преобразует все символы в верхний регистр.lower()– Преобразует все символы в нижний регистр.
Проверка наличия подстрок – проверка наличия или положения текста.
in– Проверяет, существует ли слово в строке.startswith()– Проверяет, начинается ли строка с заданного значения.endswith()– Проверяет, заканчивается ли строка заданным значением.
Эскизные последовательности – форматирование вывода со специальными символами.
Форматирование чисел с помощью .format#
Параметр .format можно использовать для управления отображением чисел, включая количество десятичных знаков, округление и другие стили форматирования, такие как:
Fixed Decimal Places#
:.xf определяет количество десятичных знаков, с которыми отображается число.
Usage:
:.xf
Параметры |
Описание |
|---|---|
|
Количество десятичных знаков для отображения. |
def main():
# Display pi with 2 decimal places
pi = 3.1415926535
console.print("Pi: {:.2f}".format(pi))
# Output: Pi: 3.14
# Start threads — Do not delete
start_thread(main)
Rounding Numbers#
round округляет число до определенного количества десятичных знаков перед форматированием.
Usage:
round(number, x)
Параметры |
Описание |
|---|---|
|
Число для округления. |
|
Количество знаков после запятой, до которых следует округлить. |
def main():
# Display a value rounded to only 2 decimal places
value = 5.6789
console.print("Rounded: {}".format(round(value, 2)))
# Output: Rounded: 5.68
# Start threads — Do not delete
start_thread(main)
Thousands Separator#
:, вставляет запятые в качестве разделителей тысяч, чтобы сделать большие числа более читабельными.
Usage:
:,
Параметры |
Описание |
|---|---|
Этот спецификатор формата не имеет параметров. |
def main():
# Display a large number separated with commas
number = 1234567
console.print("Formatted: ")
console.new_line()
console.print("{:,}".format(number))
# Output: Formatted: 1,234,567
# Start threads — Do not delete
start_thread(main)
Percentage#
:.x% форматирует десятичные значения в проценты, умножая значение на 100 и добавляя знак процента.
Usage:
:.x%
Параметры |
Описание |
|---|---|
|
Количество десятичных знаков для отображения. |
def main():
# Display a converted decimal to a percentage
value = 0.875
console.print("Score: {:.1%}".format(value))
# Output: Score: 87.5%
# Start threads — Do not delete
start_thread(main)
Hexadecimal#
:#x преобразует числа в шестнадцатеричный формат.
Usage:
:#x
Параметры |
Описание |
|---|---|
Этот спецификатор формата не имеет параметров. |
def main():
# Convert 255 to hexadecimal
number = 255
console.print("Hex: {:#x}".format(number))
# Output: Hex: 0xff
# Start threads — Do not delete
start_thread(main)
Binary#
:b преобразует числа в двоичную систему (основание 2).
Usage:
:b
Параметры |
Описание |
|---|---|
Этот спецификатор формата не имеет параметров. |
def main():
# Convert 3 to binary
console.print("Binary: {:b}".format(3))
# Output: Binary: 11
# Start threads — Do not delete
start_thread(main)
Сочетание струн#
Объединять (или конкатенировать) строки можно двумя способами:
Using .format#
Вставляйте значения непосредственно в строку, используя {}.
def main():
# Display an answer based on the given emotion
emotion = "good"
console.print("I'm {}, you?".format(emotion))
# Start threads — Do not delete
start_thread(main)
+ Operator#
Соедините несколько частей, используя +.
Примечание: Нестроковые значения сначала необходимо преобразовать в строки с помощью функции str().
def main():
# Display the x and y values
x = 10
y = 20
console.print("X: " + str(x) + ", Y: " + str(y))
# Start threads — Do not delete
start_thread(main)
Методы работы со строками#
В Python предусмотрены встроенные методы для изменения и проверки строк.
upper#
upper преобразует все буквы в строке в верхний регистр.
Usage:
upper()
Параметры |
Описание |
|---|---|
Этот метод не имеет параметров. |
def main():
# Capitalize a string with .upper()
message = "vexcode"
console.print(message.upper()) # Output: VEXCODE
# Start threads — Do not delete
start_thread(main)
lower#
lower преобразует все буквы в строке в нижний регистр.
Usage:
lower()
Параметры |
Описание |
|---|---|
Этот метод не имеет параметров. |
def main():
# Make a string lowercase with .lower()
message = "VEXCODE"
console.print(message.lower()) # Output: vexcode
# Start threads — Do not delete
start_thread(main)
Проверка наличия подстрок#
in#
Ключевое слово in возвращает логическое значение, указывающее, существует ли подстрока (слово или фрагмент текста) в строке.
True– Слово существует в строке.False– Этого слова нет в строке.
def main():
message = "Hey everyone!"
if "Hey" in message:
console.print("Hello!")
# Start threads — Do not delete
start_thread(main)
startswith#
Функция startswith возвращает логическое значение, указывающее, начинается ли строка с заданного значения.
True– Слово начинает строку.False– Это слово не является началом строки.
Usage:
startswith(substring)
Параметры |
Описание |
|---|---|
|
Подстрока, которую нужно проверить в начале строки. |
def main():
# Check for 'GO' at the start of a string
message = "GO Robot"
if message.startswith("GO"):
console.print("GO first!")
# Start threads — Do not delete
start_thread(main)
endswith#
Функция endswith возвращает логическое значение, указывающее, заканчивается ли строка заданным значением.
True– Это слово завершает строку.False– Слово не завершает строку.
Usage:
endswith(substring)
Параметры |
Описание |
|---|---|
|
Подстрока, которую нужно проверить в конце строки. |
def main():
# Check for `Robot` at the end of a string
message = "GO Robot"
if message.endswith("Robot"):
console.print("Robot last!")
# Start threads — Do not delete
start_thread(main)
Последовательности побега#
Экранирующие последовательности — это специальные символы, используемые внутри строк для форматирования текстового вывода.
New Line#
\n перемещает текст на новую строку при печати.
def main():
# Display text on two lines
console.print("First line\nSecond line")
# Start threads — Do not delete
start_thread(main)
Tab Spacing#
\t вставляет пробел между словами или цифрами.
def main():
# Display the quantity of disks
quantity = 2
console.print("Disks:\t", quantity)
# Start threads — Do not delete
start_thread(main)