Практикум Python. Продвинутый поток 2025 — различия между версиями
Irinaiv (обсуждение | вклад) (Новая страница: «= Общие сведения = ==План занятий== * осенний семестр: 01 сентября – 14 декабря * зачетная не…») |
|||
| (не показаны 2 промежуточные версии этого же участника) | |||
| Строка 1: | Строка 1: | ||
= Общие сведения = | = Общие сведения = | ||
| + | |||
| + | Основная цель курса - научиться работе с Python и изучить практические применения в различных сферах. | ||
| + | |||
| + | '''Полезные ссылки''' | ||
| + | TBA - Форма регистрации на курс | ||
| Строка 9: | Строка 14: | ||
== Руководитель курса== | == Руководитель курса== | ||
| − | Спицын Николай | + | Спицын Николай (tg: @Jetminded) |
== Преподаватели курса== | == Преподаватели курса== | ||
| + | * Спицын Николай | ||
| + | * Подзорова Полина | ||
| + | * Лотфуллин Камиль | ||
| + | * Реброва Алина | ||
| + | * Кротов Андрей | ||
== Чат курса== | == Чат курса== | ||
| − | [https://XXXXXXX чат в Telegram] | + | [https://XXXXXXX чат в Telegram] - TBA |
| + | |||
| + | == Оценки == | ||
| + | Оценка за семестр (предварительно, финальную уточнять у руководителя курса): | ||
| + | |||
| + | К + Л + У + Пр + Сем, | ||
| + | |||
| + | где | ||
| + | |||
| + | * К - сумма баллов за контесты, до 15% от итоговой оценки | ||
| + | * У - устный опрос/коллоквиум в середине курса, до 15% от итоговой оценки | ||
| + | * Л - сумма баллов за лабораторные работы, до 40% от итоговой оценки | ||
| + | * Пр - балл за итоговый проект, до 30% от итоговой оценки | ||
| + | * Сем - балл от семинариста, до 10% от итоговой оценки | ||
| + | |||
| + | Блоки У, Л, Пр - блокирующие, т.е. за каждый из них надо получить хотя бы 3/10 для получения положительной итоговой оценки. | ||
| + | |||
| + | == План курса == | ||
| + | Блок 1. Окружение | ||
| + | |||
| + | - Интерпретатор Python. Отличие от компилятора. | ||
| + | |||
| + | - Основы работы с Google Colab | ||
| + | |||
| + | - Основы работы с VS Code | ||
| + | |||
| + | Блок 2. Синтаксис Python | ||
| + | |||
| + | - Циклы, условия | ||
| + | |||
| + | - Генераторы, list comprehension | ||
| + | |||
| + | - Декораторы | ||
| + | |||
| + | - Контейнеры | ||
| + | |||
| + | - Функции, лямбда-функции; классы. Основы ООП | ||
| + | |||
| + | Блок 3. Python для работы с данными | ||
| + | |||
| + | - Numpy | ||
| + | |||
| + | - Pandas | ||
| + | |||
| + | - Matplotlib, seaborn | ||
| + | |||
| + | - Работа с выборками в Python | ||
| + | |||
| + | - Основы HTML. Веб-скрапинг. BeautifulSoup. | ||
| + | |||
| + | - Работа с API | ||
| + | |||
| + | Блок 4. Применение Python в проектной деятельности. | ||
| + | |||
| + | - Telegram-боты | ||
| + | |||
| + | - PyGame | ||
| + | |||
| + | - Flask | ||
| + | |||
| + | |||
| + | == Программа устного опроса (коллоквиума) == | ||
| + | Внутреннее устройство и работа с памятью. | ||
| + | |||
| + | 1.1 Интерпретатор vs. Компилятор | ||
| + | |||
| + | 1.2 Интерпретатор Python (CPython, GIL, bytecode) | ||
| + | |||
| + | 1.3 Работа с памятью (garbage collector, подсчёт ссылок) | ||
| + | |||
| + | 1.4 Mutability vs. Immutability. __hash__ | ||
| + | |||
| + | 1.5 Deep vs. Shallow copy (copy module) | ||
| + | |||
| + | 1.6 Скоупы в Python. Замыкания | ||
| + | |||
| + | 1.7 Виртуальное окружение (venv), pip | ||
| + | |||
| + | 1.8 __globals__, function.__dict__, function.__defaults__ | ||
| + | |||
| + | |||
| + | ООП в Python | ||
| + | |||
| + | 2.1 Классы. Концепция ООП. Принципы, их реализация в Python | ||
| + | |||
| + | 2.2 Множественное наследование, Method Resolution Order (MRO) | ||
| + | |||
| + | 2.3 Magic methods (__dunder__). __init__, __new__, __del__ | ||
| + | |||
| + | 2.4 __name__, __doc__, __repr__, __str__, __format__ | ||
| + | |||
| + | 2.5 Descriptors (__get__, __set__, __delete__) | ||
| + | |||
| + | 2.6 Property decorator (@property, @setter) | ||
| + | |||
| + | 2.7 @classmethod, @staticmethod. Custom inits | ||
| + | |||
| + | |||
| + | Контейнеры в Python | ||
| + | |||
| + | 3.1 list, tuple, dict, set. Кто это, создание, добавление/удаление элементов, обращение к элементам | ||
| + | |||
| + | 3.2 Sequence vs mapping. collections.abc.Sequence. collections.abc.Mapping | ||
| + | |||
| + | 3.3 __len__, __getitem__, __setitem__, __delitem__ | ||
| + | |||
| + | 3.4 Итератор. Написание итератора. __iter__, __next__ | ||
| + | |||
| + | |||
| + | Декораторы и генераторы | ||
| + | |||
| + | 4.1 Декораторы: объявление, использование | ||
| + | |||
| + | 4.2 functools (cache, lru_cache, wraps) | ||
| + | |||
| + | 4.3 Лямбда функции, модуль operator | ||
| + | |||
| + | 4.4 Генераторы: объявление, использование. yield | ||
| + | |||
| + | |||
| + | Исключения в Python | ||
| + | |||
| + | 5.1 Иерархия built-in исключений. Примеры исключений | ||
| + | |||
| + | 5.2 Написание своих исключений | ||
| + | |||
| + | 5.3 Конструкция try - except - else - finally | ||
| + | |||
| + | 5.4 from … raise. __cause__, __context__ | ||
| + | |||
| + | 5.5 assert. Assert vs. raise | ||
| + | |||
| + | |||
| + | Прочее | ||
| + | |||
| + | 6.1 Операторы * и **. Правила передачи аргументов в функцию. *args, **kwargs | ||
| + | |||
| + | 6.2 map, zip, filter, reduce | ||
| + | |||
| + | 6.3 Контекстные менеджеры (with, contextlib). __enter__, __exit__ | ||
| + | |||
| + | 6.4 @contextmanager | ||
| + | |||
| + | 6.5 Docstrings, type hints (typing module) | ||
| − | + | 6.6 Format, f-строки. Оператор %. | |
| − | |||
| − | + | 6.7 @singleton | |
| − | |||
== Материалы занятий == | == Материалы занятий == | ||
| − | + | TBA | |
Текущая версия на 07:34, 20 августа 2025
Содержание
Общие сведения
Основная цель курса - научиться работе с Python и изучить практические применения в различных сферах.
Полезные ссылки TBA - Форма регистрации на курс
План занятий
- осенний семестр: 01 сентября – 14 декабря
- зачетная неделя: 15 – 21 декабря
- доп. выходные: 04 ноября 2025 г.
Руководитель курса
Спицын Николай (tg: @Jetminded)
Преподаватели курса
- Спицын Николай
- Подзорова Полина
- Лотфуллин Камиль
- Реброва Алина
- Кротов Андрей
Чат курса
чат в Telegram - TBA
Оценки
Оценка за семестр (предварительно, финальную уточнять у руководителя курса):
К + Л + У + Пр + Сем,
где
- К - сумма баллов за контесты, до 15% от итоговой оценки
- У - устный опрос/коллоквиум в середине курса, до 15% от итоговой оценки
- Л - сумма баллов за лабораторные работы, до 40% от итоговой оценки
- Пр - балл за итоговый проект, до 30% от итоговой оценки
- Сем - балл от семинариста, до 10% от итоговой оценки
Блоки У, Л, Пр - блокирующие, т.е. за каждый из них надо получить хотя бы 3/10 для получения положительной итоговой оценки.
План курса
Блок 1. Окружение
- Интерпретатор Python. Отличие от компилятора.
- Основы работы с Google Colab
- Основы работы с VS Code
Блок 2. Синтаксис Python
- Циклы, условия
- Генераторы, list comprehension
- Декораторы
- Контейнеры
- Функции, лямбда-функции; классы. Основы ООП
Блок 3. Python для работы с данными
- Numpy
- Pandas
- Matplotlib, seaborn
- Работа с выборками в Python
- Основы HTML. Веб-скрапинг. BeautifulSoup.
- Работа с API
Блок 4. Применение Python в проектной деятельности.
- Telegram-боты
- PyGame
- Flask
Программа устного опроса (коллоквиума)
Внутреннее устройство и работа с памятью.
1.1 Интерпретатор vs. Компилятор
1.2 Интерпретатор Python (CPython, GIL, bytecode)
1.3 Работа с памятью (garbage collector, подсчёт ссылок)
1.4 Mutability vs. Immutability. __hash__
1.5 Deep vs. Shallow copy (copy module)
1.6 Скоупы в Python. Замыкания
1.7 Виртуальное окружение (venv), pip
1.8 __globals__, function.__dict__, function.__defaults__
ООП в Python
2.1 Классы. Концепция ООП. Принципы, их реализация в Python
2.2 Множественное наследование, Method Resolution Order (MRO)
2.3 Magic methods (__dunder__). __init__, __new__, __del__
2.4 __name__, __doc__, __repr__, __str__, __format__
2.5 Descriptors (__get__, __set__, __delete__)
2.6 Property decorator (@property, @setter)
2.7 @classmethod, @staticmethod. Custom inits
Контейнеры в Python
3.1 list, tuple, dict, set. Кто это, создание, добавление/удаление элементов, обращение к элементам
3.2 Sequence vs mapping. collections.abc.Sequence. collections.abc.Mapping
3.3 __len__, __getitem__, __setitem__, __delitem__
3.4 Итератор. Написание итератора. __iter__, __next__
Декораторы и генераторы
4.1 Декораторы: объявление, использование
4.2 functools (cache, lru_cache, wraps)
4.3 Лямбда функции, модуль operator
4.4 Генераторы: объявление, использование. yield
Исключения в Python
5.1 Иерархия built-in исключений. Примеры исключений
5.2 Написание своих исключений
5.3 Конструкция try - except - else - finally
5.4 from … raise. __cause__, __context__
5.5 assert. Assert vs. raise
Прочее
6.1 Операторы * и **. Правила передачи аргументов в функцию. *args, **kwargs
6.2 map, zip, filter, reduce
6.3 Контекстные менеджеры (with, contextlib). __enter__, __exit__
6.4 @contextmanager
6.5 Docstrings, type hints (typing module)
6.6 Format, f-строки. Оператор %.
6.7 @singleton
Материалы занятий
TBA