← Назад к видео

Почему print «красит» текст, хотя ничего не красит

В этом видео разбираемся, что на самом деле происходит, когда Python встречает escape-последовательности и другие управляющие символы.
Почему print() переносит строки? Кто меняет цвет текста в терминале? Что именно интерпретирует Python, а что уже сам терминал? И почему понимание этой цепочки может пригодиться на техническом собеседовании?

В ролике разберём:
- как Python обрабатывает escape-последовательности внутри строковых литералов;
- чем escape-последовательности Python отличаются от управляющих последовательностей терминала;
- как работают ANSI/CSI-последовательности;
- почему терминал хранит своё состояние;
- как менять цвет, стиль текста, положение курсора и очищать экран;
- что происходит при перенаправлении stdout в файл;
- и какой вопрос на эту тему вполне могут задать на Python-собеседовании.

Тайм-коды

00:00 Вступление
00:43 Почему print() не так прост, как кажется
02:15 Что такое escape-последовательности
05:48 Escape-последовательности Python и ANSI-команды терминала
06:18 Как ANSI-последовательности меняют цвет текста
10:37 Почему терминал хранит состояние
12:57 Комбинирование ANSI-команд
13:54 Очистка экрана и управление терминалом
15:19 CSI, OSC и другие управляющие последовательности
16:28 Вопросы про print() на Python-собеседованиях
20:00 Что реально передаёт print() в stdout
23:21 Кто за что отвечает: Python, print() или терминал
24:17 Заключение