Программа курса:
Операции со строками в Python
В этой лекции мы сосредоточимся на базовых операциях со строками — действиях, которые не требуют использования методов, индексации или сложных функций. Это фундамент, который поможет вам уверенно работать с текстом в Python.
Сложение строк в Python
Конкатенация(Сложение строк) — это процесс объединения двух или более строк в одну с помощью оператора +
. В данной операции исходные строки не преобразуются в новый объект, но они его создают, оставаясь при этом в оперативной памяти.
Пример:
greeting = "Добро пожаловать, "
user = "Алексей"
full_greeting = greeting + user # Результат: "Добро пожаловать, Алексей"
Особенности:
Операнды должны быть строками. Попытка сложить строку с числом вызовет ошибку:
# Ошибка: TypeError age = 25 message = "Мой возраст: " + age # str и int складывать нельзя
Решение: Преобразуйте число в строку с помощью
str()
:message = "Мой возраст: " + str(age) # "Мой возраст: 25"
В данном случае сложение происходит между двумя строками благодаря тому, что мы создали объект-строку
str
из целого числаint
, используяstr()
.
Где применяется:
Формирование путей к файлам:
folder = "C:/docs/" file_name = "report.txt" full_path = folder + file_name # "C:/docs/report.txt"
Умножение строк в Python
Оператор *
позволяет повторить строку указанное количество раз. Это полезно для создания шаблонов или визуального оформления. Подобные механизмы сильнее раскрываются при использовании f - строк, которые мы изучим в следующих лекциях.
Пример:
separator = "-" * 30 # "------------------------------"
celebration = "Ура! " * 3 # "Ура! Ура! Ура! "
Особенности:
Множитель должен быть целым положительным числом. Отрицательные числа или ноль приведут к пустой строке:
error = "Текст" * -5 # Результат: ""
Практическое применение:
Создание границ в консольном выводе:
print("=" * 40) print("Важные новости:") print("=" * 40)
Генерация повторяющихся паттернов:
pattern = "*-*-" * 5 # "*-*-*-*-*-*-"
Оператор in
Оператор in
позволяет проверить, содержится ли одна строка внутри другой. Результат возвращается как булево значение (True
или False
). Данный оператор используется не только при работе со строками, но и с другими объектами: списками, кортежами и тд.
Пример:
text = "Программирование на Python — это увлекательно."
result = "Python" in text # True
result = "Java" in text # False
Применение:
Фильтрация данных. Например, проверка наличия ключевых слов в тексте.
Валидация формата:
email = "user@example.com" is_valid = "@" in email and "." in email # True
Лайфхак: Используйте in
для быстрой проверки, избегая сложных алгоритмов поиска.
Сравнение строк в Python
Строки в Python можно сравнивать с помощью операторов: ==
, !=
, <
, >
, <=
, >=
. Сравнение происходит посимвольно на основе кодов символов в таблице Unicode.
Пример:
str1 = "apple"
str2 = "banana"
print(str1 < str2) # True (символ 'a' имеет код 97, 'b' — 98)
Особенности:
Регистр символов имеет значение:
print("Apple" == "apple") # False
Сравнение происходит лексикографически (как в словаре). Например:
print("абрикос" > "яблоко") # False (буква 'а' имеет меньший код, чем 'я')
Интересный факт: Символы в Unicode упорядочены не всегда интуитивно. Например, буква ё
в русском алфавите имеет код U+0451
, который больше, чем у е
(U+0435
), поэтому "ёж" > "еж"
вернет True
.
Определение длины строки в Python
Функция len()
возвращает количество символов в строке. Это полезно для анализа текста и ограничения ввода. Эта функция используется не только
Пример:
password = "Secret123"
length = len(password) # 9
Нюансы:
Символы пробелов, знаки препинания и эмодзи учитываются:
text = "Hello, 😊" print(len(text)) # 8 (H, e, l, l, o, ,, пробел, 😊)
Где используется:
Проверка минимальной длины пароля.
Ограничение текста при отправке в базу данных.
Полезная таблица операций
Операция | Оператор/Функция | Пример | Результат |
---|---|---|---|
Сложение | + | "Hello" + "World" | "HelloWorld" |
Умножение | * | "-" * 5 | "-----" |
Проверка вхождения | in | "cat" in "catalog" | True |
Сравнение | == , != , < , > | "apple" == "Apple" | False |
Длина строки | len() | len("Экскаватор") | 9 |
Примеры использования операций
Генерация URL-адресов:
base_url = "https://api.example.com/v1/" endpoint = "users" url = base_url + endpoint # "https://api.example.com/v1/users"
Создание ASCII-графики:
line = "-" * 50 header = line + "\n\tСИСТЕМНОЕ УВЕДОМЛЕНИЕ\n" + line print(header)
Вывод:
-------------------------------------------------- СИСТЕМНОЕ УВЕДОМЛЕНИЕ --------------------------------------------------
Проверка сложности пароля (гипотетический сценарий):
password = "Qwerty123" # Проверка длины (без использования условий): is_secure = len(password) >= 8 # True