Unix 5ML осень 2019

Материал из CSC Wiki
Перейти к:навигация, поиск

Лектор — Михаил Олегович Чернявский (mikhail.chernyavsky+python19@jetbrains.com).

Лекции

Материалы лекций

Старые версии презентаций:

Вопросы к экзамену

  1. Встроенные типы: логические, числовые, строковые, коллекции. Truthy/Falsy значения. Слайсы. Модуль collections.
  2. Функции. Упаковка и распаковка аргументов. Ключевые аргументы и аргументы по умолчанию. Области видимости. Замыкания. Анонимные функции. Функции map, filter, zip.
  3. Декораторы: синтаксис и семантика. Атрибуты функций. Декораторы с аргументами.
  4. Строковые литералы и сырые строки. Строки и Юникод. Байты. Кодировки. Работа с файлами.
  5. Классы, экземпляры и атрибуты. Связанные и несвязанные методы. __dict__ и __slots__. Статические методы и методы класса. "Магические" методы.
  6. Наследование. Перегрузка методов. Множественное наследование. Классы-примеси. Декораторы классов.
  7. Обработка исключений. Встроенные исключения. Иерархия исключений. Пользовательские исключения. Атрибуты исключений.
  8. Менеджеры контекста. Протокол менеджеров контекста. Семантика оператора with. Модуль contextlib: closing, redirect_stdout, suppress, ContextDecorator.
  9. Итераторы. Протокол итераторов. Итераторы и коллекции. Цикл for и операторы in и not in. Реализация протокола итераторов "по умолчанию".
  10. Генераторы. Оператор-выражение yield. return в генераторах. Интерфейс генераторов. Корутины. Выражения-генераторы. Декоратор @contextmanager.
  11. Модули. Операторы import и from ... import. Функция __import__. Компиляция модулей. Пакеты. Относительный и абсолютный импорт. __init__-фасад. Исполняемые модули и пакеты.
  12. Дескрипторы. Протокол дескрипторов. Типы дескрипторов. Примеры дескрипторов: @property, @staticmethod и @classmethod.
  13. Метаклассы. Как создаются классы. Конструктор __new__. Метаклассы и декораторы классов.

Практика

Репозиторий с домашними заданиями

Таблицы с текущей успеваемостью

Полезные ссылки

Git

Unix

Python