Комментарии (1)
Ответ сгенерирован нейросетью и может содержать ошибки
Строки в Python
Строка — это встроенный тип данных str, который используется для представления текста в Python. Это неизменяемая последовательность символов Unicode.
Основные характеристики типа str
Неизменяемость (Immutability) — это ключевое свойство строк. Когда вы выполняете операцию над строкой, создается новая строка, а исходная остаётся неизменной.
s = "Hello"
print(id(s)) # 140234567890
s = s + " World"
print(id(s)) # 140234567891 — это новый объект
Это означает, что строки экономят память благодаря intern-механизму, когда идентичные строковые литералы указывают на один объект в памяти.
a = "python"
b = "python"
print(a is b) # True — оба указывают на один объект
Создание строк
Строки можно создавать несколькими способами:
# Одинарные, двойные кавычки
s1 = "Python"
s2 = 'Python'
# Тройные кавычки для многострочных
s3 = """Это
многострочная
строка"""
# С помощью конструктора
s4 = str(123) # "123"
s5 = str([1, 2, 3]) # "[1, 2, 3]"
Методы для работы со строками
Тип str содержит множество встроенных методов:
s = "hello world"
print(s.upper()) # HELLO WORLD
print(s.capitalize()) # Hello world
print(s.split()) # [hello, world]
print(s.replace("world", "python")) # hello python
print(s.startswith("hello")) # True
print(s.find("world")) # 6
print(s.join(["a", "b", "c"])) # a-b-c
Индексация и срезы
Строки поддерживают индексацию и срезы как списки:
s = "Python"
print(s[0]) # P
print(s[-1]) # n
print(s[1:4]) # yth
print(s[::-1]) # nohtyP
Форматирование
Есть несколько способов вставить значения в строку:
name = "Alice"
age = 30
# %-форматирование (старый стиль)
print("Имя: %s, Возраст: %d" % (name, age))
# .format()
print("Имя: {}, Возраст: {}".format(name, age))
# f-строки (Python 3.6+, рекомендуется)
print(f"Имя: {name}, Возраст: {age}")
print(f"Через год: {age + 1}")
Строки как итерируемые объекты
Строки — это последовательности, и их можно итерировать:
for char in "Python":
print(char)
# P
# y
# t
# h
# o
# n
Сравнение со списками и кортежами
Уникальные особенности str:
- Неизменяемость (как кортежи, в отличие от списков)
- Специализированные методы для текстовой обработки
- Встроенная Unicode-поддержка
- Более эффективная память благодаря intern-механизму
В заключение, строки — это фундаментальный тип данных в Python, оптимизированный для работы с текстом, с богатым набором методов и полной поддержкой Unicode.