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

Введение#

Метод .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() – Проверяет, заканчивается ли строка заданным значением.

Эскизные последовательности – форматирование вывода со специальными символами.

  • \n – Добавляет перенос строки (новую строку).

  • \t – Добавляет пробел между элементами.

Форматирование чисел с помощью .format#

Параметр .format можно использовать для управления отображением чисел, включая количество десятичных знаков, округление и другие стили форматирования, такие как:

Fixed Decimal Places#

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

Usage:
:.xf

Параметры

Описание

x

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

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)

Параметры

Описание

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%

Параметры

Описание

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)

Параметры

Описание

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)

Параметры

Описание

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)