Содержание курса
Введение
1 урок
1.
Вступление
↗
Структуры данных
20 уроков
1.
Какие типы данных есть в Python?
↗
2.
Какая разница между множеством и словарем?
↗
3.
Что такое frozenset?
↗
4.
Назови три основных типа копирования объектов?
↗
5.
Для чего используется метод get()?
↗
6.
Что такое генератор?
↗
7.
Что такое итератор?
↗
8.
Какая разница между dict и json?
↗
9.
Что может быть ключами и значениями в словаре?
↗
10.
Что такое динамическая типизация?
↗
11.
Что такое комплексные числа и где они применяются?
↗
12.
Что такое id объекта и как его получить?
↗
13.
Что такое хэшируемость (hashable)?
↗
14.
Чем bytes отличается от bytearray?
↗
15.
Для чего нужен memoryview и с какими объектами он работает?
↗
16.
Что такое StopIteration?
↗
17.
Чем .get() отличается от .setdefault()?
↗
18.
В чем различие между is и ==?
↗
19.
Какую структуру данных использовать для реализации стека (LIFO)?
↗
20.
Что такое OrderedDict?
↗
Функции
20 уроков
1.
Чем отличаются аргументы от параметров функции?
↗
2.
Что такое *args?
↗
3.
Что такое **kwargs?
↗
4.
Чем yield отличается от return?
↗
5.
Чем отличается local от global области видимости?
↗
6.
Что такое nonlocal? Когда его используют?
↗
7.
В чем заключается опасность рекурсии?
↗
8.
Что такое чистая функция?
↗
9.
Как работает аннотация типов?
↗
10.
Что такое лямбда-функция?
↗
11.
Зачем нужна аннотация типов?
↗
12.
Как работает функция reduce?
↗
13.
Что такое map()?
↗
14.
Что такое замыкание?
↗
15.
Как передать функцию в качестве аргумента?
↗
16.
Что такое каррирование?
↗
17.
Может ли функция возвращать несколько значений?
↗
18.
Какие преимущества функций?
↗
19.
Какая опасность использования изменяемых объектов по умолчанию?
↗
20.
Что означает, что функции являются "объектами первого класса"?
↗
Файлы
10 уроков
1.
Чем отличается режим 'r' от 'rb' при открытии файла?
↗
2.
Как прочитать файл построчно?
↗
3.
Что такое менеджер контекста? Почему его стоит использовать?
↗
4.
Как работать с JSON-файлами?
↗
5.
Как получить список всех файлов в директории?
↗
6.
Как обработать несколько файлов одновременно?
↗
7.
Чем отличается 'w' от 'a' при открытии файла?
↗
8.
Зачем нужны pickle файлы?
↗
9.
Что такое кодировка файла?
↗
10.
Как обработать большой файл без чтения в память?
↗
Исключения
10 уроков
1.
Чем исключения отличаются от ошибок компиляции?
↗
2.
Для чего нужен блок finally?
↗
3.
Когда возникает AttributeError?
↗
4.
Когда возникает IndexError?
↗
5.
Как правильно обрабатывать исключения при работе с файлами?
↗
6.
Как отловить все исключения?
↗
7.
Когда возникает AssertionError?
↗
8.
Чем отличается except Exception от except BaseException?
↗
9.
Что делает блок else в try-except?
↗
10.
Как правильно логировать исключения?
↗
Декораторы
10 уроков
1.
Что такое декоратор?
↗
2.
Зачем передают func в декоратор?
↗
3.
Что делает декоратор @staticmethod?
↗
4.
Что делает functools.wraps и зачем он нужен?
↗
5.
Что такое декоратор класса?
↗
6.
Что делает декоратор @property?
↗
7.
Что такое декоратор @abstractmethod?
↗
8.
В чем разница между декоратором функции и декоратором класса?
↗
9.
Чем отличается @staticmethod от @classmethod?
↗
10.
Что такое декоратор с параметрами?
↗
Генераторы
10 уроков
1.
Как создать генератор с помощью yield?
↗
2.
Что делает ключевое слово yield from?
↗
3.
Что такое корутины и как они связаны с генераторами?
↗
4.
Как вызвать исключение в генераторе с помощью throw()?
↗
5.
Что такое подгенераторы?
↗
6.
Как закрыть генератор с помощью close()?
↗
7.
Зачем нужны генераторы выражений?
↗
8.
Как создать генератор с состоянием?
↗
9.
В чем разница между генераторами и корутинами?
↗
10.
Как использовать генераторы вместе с модулем itertools?
↗
ООП
20 уроков
1.
Какие основные принципы ООП?
↗
2.
Объясни понятия класса и объекта.
↗
3.
Что такое self в методах класса?
↗
4.
Как работает наследование?
↗
5.
Что такое инкапсуляция?
↗
6.
Для чего нужны методы __getattr__ и __setattr__?
↗
7.
Объясни принцип полиморфизма.
↗
8.
Что такое перегрузка методов и операторов?
↗
9.
Отличие метода __new__ от __init__?
↗
10.
Что такое магические методы?
↗
11.
Что такое классы-данных (dataclasses)?
↗
12.
Чем отличается isinstance() от type()?
↗
13.
Для чего нужны методы __str__ и __repr__?
↗
14.
Что такое абстракция?
↗
15.
Для чего нужны __slots__?
↗
16.
Как проверить, является ли объект экземпляром класса?
↗
17.
Что такое миксины?
↗
18.
Что такое абстрактные методы и классы?
↗
19.
Что такое duck typing?
↗
20.
Что такое дескрипторы и как они работают?
↗
Последняя...
1 урок
1.
101-я
↗
Конец
1 урок
1.
Заключение
↗