Программа курса:
Операции со строками в 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
Uchenik134
,Здравствуйте.
В таблице длина строки указана 9, в слове Экскаватор, 10 букв
"Длина строки len() len("Экскаватор") 9"
Правильно 9 или 10?
Laid
,Uchenik134, индексация слево направо начинается с 0, а справа налево с -1 (минус один).