🔤 Работа со строками в Python
Строки (str) - это последовательности символов. В Python с ними можно делать множество полезных операций.
📝 1. Создание строк
Строки создаются с помощью одинарных '...' или двойных "..." кавычек.
text1 = 'Привет'
text2 = "Мир"
text3 = "Он сказал: 'Привет!'" # Внутри двойных можно использовать одинарные
🔹 Многострочные строки
Для создания многострочных строк, которые сохраняют форматирование (переносы строк, пробелы и т. п.), используются тройные кавычки """...""" или '''...'''.
poem = """Белеет парус одинокий
В тумане моря голубом"""
print(poem)
🔗 2. Операции со строками
🔹 Сложение (конкатенация)
first = "Hello"
second = "World"
result = first + " " + second
print(result) # Hello World
🔹 Умножение
line = "=" * 10
print(line) # ==========
🔹 Длина строки - len()
text = "Python"
print(len(text)) # 6
🔍 3. Индексы и срезы
Каждый символ в строке имеет свой номер (индекс), начиная с 0.
🔹 Доступ по индексу
word = "Python"
print(word[0]) # P
print(word[3]) # h
print(word[-1]) # n (последний символ)
| Символ | P | y | t | h | o | n |
|---|---|---|---|---|---|---|
| Индекс | 0 | 1 | 2 | 3 | 4 | 5 |
| Отриц. | -6 | -5 | -4 | -3 | -2 | -1 |
🔹 Срезы (slices)
Синтаксис: строка[начало:конец:шаг]
text = "Hello World"
print(text[0:5]) # Hello
print(text[6:]) # World
print(text[:5]) # Hello
print(text[::2]) # HloWrd (каждый второй символ)
print(text[::-1]) # dlroW olleH (разворот строки)
🛠️ 4. Полезные методы строк
🔹 Изменение регистра
| Метод | Описание | Пример |
|---|---|---|
.upper() |
Все символы в верхний регистр | "hello".upper() → "HELLO" |
.lower() |
Все символы в нижний регистр | "HELLO".lower() → "hello" |
.capitalize() |
Первая буква заглавная | "python".capitalize() → "Python" |
.title() |
Каждое слово с заглавной буквы | "hello world".title() → "Hello World" |
🔹 Поиск и проверка
| Метод | Описание | Пример |
|---|---|---|
.find(sub) |
Индекс первого вхождения (или -1) | "hello".find("l") → 2 |
.count(sub) |
Количество вхождений | "hello".count("l") → 2 |
.startswith(sub) |
Начинается ли строка с подстроки | "hello".startswith("he") → True |
.endswith(sub) |
Заканчивается ли строка подстрокой | "hello".endswith("lo") → True |
🔹 Замена и разделение
| Метод | Описание | Пример |
|---|---|---|
.replace(old, new) |
Заменить подстроку | "hello".replace("l", "L") → "heLLo" |
.split(sep) |
Разделить строку на список | "a,b,c".split(",") → ['a', 'b', 'c'] |
.strip() |
Убрать пробелы с краёв | " hi ".strip() → "hi" |
join() |
Склеивает список строк | ".".join(['a', 'b']) → 'a.b' |
🔹 Пример использования
text = " Python Programming "
print(text.strip()) # Python Programming
print(text.lower()) # python programming
print(text.replace("Python", "Java")) # Java Programming
print("Python" in text) # True
🔢 5. Проверка типа символов
| Метод | Описание |
|---|---|
.isdigit() |
Состоит ли строка только из цифр |
.isalpha() |
Состоит ли строка только из букв |
.isalnum() |
Состоит ли строка из букв и/или цифр |
.isspace() |
Состоит ли строка только из пробелов |
print("123".isdigit()) # True
print("abc".isalpha()) # True
print("abc123".isalnum()) # True
print(" ".isspace()) # True
🔄 6. Перебор символов в строке
Строку можно перебрать в цикле for.
for char in "Python":
print(char)
📌 Вывод:
P
y
t
h
o
n
🧠 7. Форматирование строк (повторение)
🔹 f-строки
name = "Алиса"
age = 20
print(f"Меня зовут {name}, мне {age} лет.")
🔹 Метод .format()
text = "Меня зовут {}, мне {} лет.".format("Алиса", 20)
print(text)
🎓 Задания
🧪 1) Подсчёт гласных
Пользователь вводит строку. Программа должна: - подсчитать количество гласных букв (a, e, i, o, u, а, е, ё, и, о, у, ы, э, ю, я) - вывести результат
Пример ввода
Введите строку: Hello World
Пример вывода
Количество гласных: 3
Решение:
text = input("Введите строку: ")
vowels = "aeiouаеёиоуыэюя"
count = 0
for char in text.lower():
if char in vowels:
count += 1
print(f"Количество гласных: {count}")
🧪 2) Палиндром
Пользователь вводит слово. Программа должна проверить, является ли оно палиндромом (читается одинаково слева направо и справа налево).
Пример ввода №1
Введите слово: казак
Пример вывода №1
Это палиндром!
Пример ввода №2
Введите слово: python
Пример вывода №2
Это не палиндром.
Решение:
word = input("Введите слово: ").lower()
if word == word[::-1]:
print("Это палиндром!")
else:
print("Это не палиндром.")
🧪 3) Замена пробелов
Пользователь вводит предложение. Программа должна:
- заменить все пробелы на символ _ (нижнее подчёркивание)
- вывести изменённую строку
Пример ввода
Введите предложение: Hello World from Python
Пример вывода
Hello_World_from_Python
Решение:
text = input("Введите предложение: ")
result = text.replace(" ", "_")
print(result)