Unix 5ML осень 2019 — различия между версиями

Материал из CSC Wiki
Перейти к:навигация, поиск
 
Строка 1: Строка 1:
Лектор — Михаил Олегович Чернявский (<b>mikhail.chernyavsky+sl@jetbrains.com</b>).
+
Лектор — Михаил Олегович Чернявский (<b>mikhail.chernyavsky+python19@jetbrains.com</b>).
  
 
== Лекции ==
 
== Лекции ==

Текущая версия на 15:37, 12 октября 2019

Лектор — Михаил Олегович Чернявский (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