Kodokon kodokon.com

Строки в глубину: срезы, f-строки, методы

Извлекай, форматируй и очищай текст как в настоящем проекте - благодаря срезам, f-строкам и методам строк.

8 мин · 3 вопросов

Открыть этот урок в Kodokon

В настоящем проекте ты постоянно работаешь со строками: номера заказов, адреса e-mail, строки файла. Срез извлекает подстроку с помощью синтаксиса [start:stop:step]: индекс stop не включается, отрицательные индексы отсчитываются с конца, а пропущенная граница означает "с начала" или "до конца".

PYTHON
reference = "ORD-2026-00042"

print(reference[:3])    # ORD
print(reference[4:8])   # 2026
print(reference[-5:])   # 00042
print(reference[::-1])  # 24000-6202-DRO
Срезы разбирают номер заказа, и ни одного цикла писать не нужно.

F-строки - современный способ собирать текст: поставь перед строкой f и вставляй выражения в фигурные скобки. Спецификация формата после двоеточия управляет отображением: :.2f округляет до двух знаков после точки, :03d дополняет нулями. На практике откажись от склейки через +: f-строка читается лучше и избавляет от ошибок типов.

PYTHON
product = "wireless keyboard"
price = 49.9
stock = 3

print(f"{product} : {price:.2f} EUR")
print(f"Stock : {stock:03d} units")
total = price * stock
print(f"Total : {total:.2f} EUR")
Спецификации формата гарантируют аккуратный вывод чисел.

Методы строк закрывают основное в очистке данных: strip убирает пробелы по краям, split разбивает на список, join склеивает обратно, lower и upper приводят регистр к единому виду, replace заменяет, startswith и endswith проверяют края. Ключевой момент: строки неизменяемы, каждый метод возвращает новую строку, не трогая исходную.

PYTHON
raw = "  Alice.Martin@Example.COM ; ADMIN "

email, role = raw.split(";")
email = email.strip().lower()
role = role.strip().lower()

print(email)  # alice.martin@example.com
print(role)   # admin
print(email.endswith("@example.com"))  # True
Цепочка strip, lower и split - трио для очистки данных.

Проверка знаний

Убедись, что запомнил ключевые моменты этого урока.

  1. Чему равно значение "python"[1:4]?
    • pyt
    • yth
    • ytho
    • pyth
  2. Что выведет print(f"{3.14159:.2f}")?
    • 3.14
    • 3.1415
    • 3,14
    • 0.14
  3. Что возвращает "a,b,c".split(",")?
    • Строку 'abc'
    • Список ['a', 'b', 'c']
    • Кортеж ('a', 'b', 'c')