- Пара слов о возникновении языка. Некоторые различия Python2 и Python3
- Знакомство с python shell
- Запуск python скрипта из командной строки, .pyc файлы, интерпретаторы и компиляторы
- Структурирование при помощи отступов
- Целые числа, арифметические операторы и операторы сравнения
- Input и output
- Условные выражения
- Циклы 1. While loops
- Циклы 2. For loops
- Вещественные числа в Python
- Форматированный вывод
- (!) Переменные в python и типы данных
- Знакомство со строками
- Основные последовательные (sequential) типы данных: строки и списки
- Манипуляции со списками
- List comprehensions
- Shallow и deep копирование объектов в python
- Словари (dictionaries)
- Множества (sets) и замороженные множества (frozen sets)
- Примеры использования множеств
- Примеры с использованием циклов и словарей
- Функции
- Передача параметров функции в Python
- Декораторы функций
- Области видимости (namespaces)
- Глобальные и локальные переменные
- Встроенная сортировка в Python
- Лямбда функции, filter, reduce, map, zip
- Рекурсия. Мемоизация
- Ханойские башни
- Backtracking
- Сведение рекурсии к итерации. Tailing recursion
- Чтение и запись файлов. Модуль Pickle
- Система импорта модулей в Python
- Пакеты в Python
- Relative import errors: look here and here
- Исключения
- ООП. Основные идеи. Зачем?
- Классы, объекты (class instances), атрибуты, методы
- Значения underscore в Python
- Классы-декораторы
- Свойства объектов (properties). Getters и setters
- Дескрипторы
- Наследование
- Пример с наследованием
- Множественное наследование
- Пример с множественным наследованием
- Magic-методы и перегрузка операторов
- Callable классы
- Пример класса для полиномиальных функций
- Контекстные менеджеры
- Слоты (slots)
- Abstract base classes (ABC)