Практикум Python. Продвинутый поток 2025: различия между версиями
Irinaiv (обсуждение | вклад) Новая страница: «= Общие сведения = ==План занятий== * осенний семестр: 01 сентября – 14 декабря * зачетная не…» |
Нет описания правки |
||
| Строка 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 | |||
Версия от 04:31, 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