⚡ Кратко
Файлы: open(), режимы, with, кодировка utf-8. Итераторы: iter(), next(), одноразовые. Генераторные выражения экономят память.
1. Работа с файлами
open(file, mode, encoding) — открывает файл.
- Режимы:
r чтение, w запись, a дозапись, x создание, b бинарный, + чтение+запись.
with open(...) as f: — гарантирует закрытие файла.
- Методы чтения:
read(), readline(), readlines(), перебор for line in file.
- Методы записи:
write(), writelines().
2. Итераторы
- Итерируемый объект — можно пройти циклом
for.
- Итератор — выдаёт элементы по одному, помнит позицию.
iter(obj) создаёт итератор, next(it) возвращает следующий элемент.
StopIteration — сигнал об окончании данных.
- Итераторы одноразовые: после полного прохода их нужно создавать заново.
3. Генераторные выражения
- Синтаксис:
(x for x in iterable).
- Ленивые: вычисляют элементы по запросу.
- Не поддерживают индексацию и
len().
- Используются с
any(), all(), sum() и другими функциями.
count() — бесконечный счётчик.
cycle() — бесконечное повторение.
chain() — объединение последовательностей.
product() — декартово произведение.
permutations() — перестановки.