Операции со строками в 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

Примеры использования операций

  1. Генерация URL-адресов:

    base_url = "https://api.example.com/v1/"  
    endpoint = "users"  
    url = base_url + endpoint  # "https://api.example.com/v1/users"  
  2. Создание ASCII-графики:

    line = "-" * 50  
    header = line + "\n\tСИСТЕМНОЕ УВЕДОМЛЕНИЕ\n" + line  
    print(header)  

    Вывод:

    --------------------------------------------------  
            СИСТЕМНОЕ УВЕДОМЛЕНИЕ  
    --------------------------------------------------  
  3. Проверка сложности пароля (гипотетический сценарий):

    password = "Qwerty123"  
    # Проверка длины (без использования условий):  
    is_secure = len(password) >= 8  # True  

Перейти к следующему шагу

Возникли вопросы при прочтении лекции? Задайте вопрос в комментариях

Комментарии