Определение и синтаксис
Строки в Python: синтаксис, операции, методы и особенности
Строки (strings) — это упорядоченные последовательности символов, используемые для хранения и обработки текста. В Python они относятся к неизменяемым (immutable) типам данных, что означает невозможность модификации после создания. В этой статье разберем синтаксис строк, специальные символы, методы, форматирование и работу с Unicode.
Определение и синтаксис
Строки можно создавать с помощью:
- Одинарных кавычек (
'...'):s1 = 'Hello, World!' - Двойных кавычек (
"..."):s2 = "Python" - Тройных кавычек (
'''...'''или"""...""") для многострочных строк:s3 = """Это многострочная строка. Она сохраняет переносы строк и пробелы."""
Зачем разные кавычки?
- Позволяют использовать одни кавычки внутри других без экранирования:
text = "Он сказал: 'Привет!'"
Специальные символы (Escape-последовательности)
Символы, начинающиеся с обратного слеша \, используются для вставки специальных значений:
\n— перенос строки.\t— табуляция.\\— обратный слеш.\'или\"— кавычка внутри строки.\r— возврат каретки (используется в Windows для переноса строки:\r\n).
Пример:
path = "C:\\new\\folder" # C:\new\folder
message = "Первая строка\nВторая строка"
Базовые операции и методы
1. Конкатенация и повторение:
name = "Анна" + " " + "Петрова" # "Анна Петрова"
stars = "*" * 5 # "*****"
2. Проверка вхождения:
print("При" in "Привет") # True
3. Основные методы:
- Изменение регистра:
print("Python".upper()) # "PYTHON" print("PYTHON".lower()) # "python" - Разделение и объединение:
print("a,b,c".split(",")) # ['a', 'b', 'c'] print(", ".join(["1", "2"])) # "1, 2" - Удаление пробелов:
print(" текст ".strip()) # "текст" - Замена подстрок:
print("Hello World".replace("World", "Python")) # "Hello Python" - Поиск и проверки:
print("abc123".isalnum()) # True (только буквы и цифры) print("123".isdigit()) # True print("start".startswith("st")) # True
Индексация и срезы
Как и в списках, символы строк доступны по индексам:
- Индексы начинаются с
0. - Отрицательные индексы отсчитываются с конца.
Примеры:
text = "Python"
print(text[0]) # 'P'
print(text[-1]) # 'n'
print(text[2:5]) # 'tho' (срез с 2 до 4 индекса)
print(text[::-1]) # 'nohtyP' (обратная строка)
Сырые строки (Raw Strings)
Сырые строки игнорируют экранирование. Полезны для путей, регулярных выражений:
raw_path = r"C:\new\folder" # Символы \n и \f не преобразуются
print(raw_path) # C:\new\folder
Unicode и ASCII
- ASCII — стандарт кодирования для английских символов (128 символов).
- Unicode — стандарт, поддерживающий все языки (более 140 000 символов).
В Python 3 по умолчанию используются строки Unicode. Пример:
emoji = "😊"
print(emoji) # 😊
# Преобразование в байты (ASCII/UTF-8):
byte_data = "Привет".encode("utf-8") # b'\xd0\x9f\xd1\x80\xd0\xb8\xd0\xb2\xd0\xb5\xd1\x82'
decoded_str = byte_data.decode("utf-8") # "Привет"
Важно: При работе с файлами указывайте кодировку:
with open("file.txt", "r", encoding="utf-8") as f:
content = f.read()
Форматирование строк
-
f-строки (Python 3.6+):
name = "Анна" age = 25 print(f"{name} - {age} лет") # "Анна - 25 лет" -
Метод
format():text = "Сумма: {0:.2f}".format(10.5678) # "Сумма: 10.57"
Заключение
-
Синтаксис:
- Используйте одинарные/двойные кавычки для простых строк, тройные — для многострочных.
- Экранируйте символы через
\.
-
Методы:
split(),join(),replace(),strip()— самые часто используемые.
-
Индексация и срезы:
- Работают аналогично спискам.
-
Сырые строки:
- Используйте
r""для путей и регулярных выражений.
- Используйте
-
Unicode:
- В Python 3 все строки Unicode по умолчанию.
Советы:
- Для сложного форматирования используйте f-строки.
- Избегайте оператора
+для конкатенации больших строк — лучшеjoin(). - При работе с файлами всегда указывайте кодировку.