Форматування рядків#

Вступ#

Метод .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)

Ескейп-послідовності#

Escape-послідовності – це спеціальні символи, що використовуються всередині рядків для форматування виводу тексту.

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)