Python Advanced. Продвинутый курс
Год выпуска: 2024
Производитель: Merion Academy
Сайт производителя:
https://wiki.merionet.ru/merion-academy/courses/python-advanced-prodvinutyj-kurs/
Автор: Сурен Хоренян
Продолжительность: 21ч 0м 36с
Тип раздаваемого материала: Видеоурок
Язык: Русский
Субтитры: Отсутствуют
Описание:
Освойте асинхронное и метапрограммирование, изучите аннотацию типов, профилирование и напишите собственное приложение на FastAPI. Улучшите свои навыки Python, чтобы совершить быстрый рост вашего грейда до уровня middle.
Кому подойдет курс?
Python-разработчик
Узнайте, что у Python под капотом: метаклассы, генераторы, декораторы, потоки (threading) и многопоточность (multiprocessing) для быстрого продвижения к уровню middle.
Data Scientist
Python отлично подходит для дата-сайентистов благодаря обширной экосистеме библиотек и фреймворков. FastAPI и SQLAlchemy будут особенно полезны для создания API и работы с базами данных в ваших проектах.
Сменить профессию
Для Frontend разработчика - повышение рыночной стоимости, Backend разработчика - расширение скиллсета и кругозора, а для QA-инженеры - отличный шанс перейти в автоматизаторы.
Программа курса:
Блок 1: Углубленная работа с декораторами
Блок 2: Сложные простые типы
Блок 3: Функциональное программирование в Python и его минусы
Блок 4: Генераторы и итераторы
Блок 5: Знакомство с асинхронной работой (asyncio)
Блок 6: Классы изнутри
Блок 7: Работа с ссылками, внимание к памяти
Блок 8: Аннотации типов. Системы контроля зависимостей. Интроспекция
Блок 9: Тестирование
Блок 10: Очереди задач
Блок 11: Профилирование
Блок 12: Ускорение обработки задач
Блок 13: Низкий уровень
Блок 14: Работа с базой данных через SQLAlchemy
Блок 15: Веб-разработка на FastAPI
Финальное тестирование
Cодержание:
Блок 1 - Углубленная работа с декораторами
- Вводное занятие: Сравнение multithreading и multiprocessing
- Вложенные декораторы
- Классы-декораторы и декораторы классов
Блок 2 - Сложные простые типы
- Строки и байты - в чем разница. Кодировки.
- Числа с плавающей точкой и проблемы, которые они приносят
- Тестирование по блоку 1 и 2
Блок 3 - Функциональное программирование в Python и его минусы
- Сравнение помощников map, filter с comprehensions. Лямбда функции
- Рекурсия, стек, переполнение стека, хвостовая рекурсия
Блок 4 - Генераторы и итераторы
- Как связаны итераторы и генераторы
- Создание генератора
- Создание итератора
- Генераторы в обратную сторону (передача данных в генератор), корутины
Блок 5 - Знакомство с асинхронной работой (asyncio)
- Введение в асинхронное программирование. Зачем нужно асинхронное программирование. Группы задач
- Асинхронные запросы в сеть
- Цикл событий альтернативный (сторонний) цикл
- Асинхронное взаимодействие с файлами
- Тестирование по блоку 3, 4 и 5
Блок 6 - Классы изнутри
- Метаклассы
- "Протоколы. Абстрактные классы
- Дескрипторы
- Слоты в классах
- Как работает super
- Сокрытие имени (name mangling)
Блок 7 - Работа с ссылками, внимание к памяти
- Как работает сборщик мусора
- Сильные и слабые ссылки
Блок 8 - Аннотации типов. Системы контроля зависимостей. Интроспекция
- Как описывать аннотации типов, зачем они нужны
- Работа с mypy
- Системы контроля зависимостей
- Интроспекция, генерация новой сигнатуры
- Тестирование по блоку 6, 7 и 8
Блок 9 - Тестирование
- Unittest
- Покрытие кода (coverage)
- Pytest, плагины
- Фикстуры
- Параметризация и метки
- Конфигурация тестов
Блок 10 - Очереди задач
- Встроенные очереди задач
- Асинхронные очереди задач
- Сервисы для очередей задач. Celery. RabbitMQ
- Интроспекция, генерация новой сигнатуры
- Тестирование по блоку 9 и 10
Блок 11 - Профилирование
- Что такое профилирование и зачем нужно. Инструменты для профилирования
- Блок 12 - Ускорение обработки задач
- Threading, GIL
- Multiprocessing
Блок 12 - Ускорение обработки задач
- Threading, GIL
- Multiprocessing
Блок 13 - Низкий уровень
- Компиляция кусков кода. Чтение и анализ байт-кода. Как работает виртуальная машина Python
- Тестирование по блоку 11, 12 и 13
Блок 14 - Работа с базой данных через SQLAlchemy
- Знакомство с SQLAlchemy 2.0Лекция
- Асинхронная работа с базой данных на SQLAlchemy
Блок 15 - Веб-разработка на FastAPI
- Знакомство с FastAPI
- FastAPI настройки git: commit, remote, push
- Работа с базой данных через SQLAlchemy в веб-приложении
- Развитие приложения на FastAPI
- Взаимодействие между приложениями
- Тестирование по блоку 14 и 15
Финальное тестирование
- Финальное тестирование
Первая часть этого курса:
[Merion Academy, Сурен Хоренян] Python-программист с нуля [2023-2025, RUS]
Формат видео: MP4
Видео: avc, 2560x1440, 16:9, 60.000 к/с, 368 кб/с
Аудио: aac lc, 48.0 кгц, 129 кб/с, 2 аудио
MediaInfo
General
Complete name : D:\5\Merion academy, Сурен Хоренян - Python Advanced. Продвинутый курс (2025)\6. Знакомство с асинхронной работой (asyncio)\6.3 - Цикл событий и альтернативные сторонние циклы.mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom (isom/iso2/avc1/mp41)
File size : 45.4 MiB
Duration : 12 min 28 s
Overall bit rate : 509 kb/s
Frame rate : 60.000 FPS
Writing application : Lavf58.76.100
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L5.1
Format settings : 4 Ref Frames
Format settings, CABAC : No
Format settings, Reference frames : 4 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 12 min 28 s
Bit rate : 368 kb/s
Width : 2 560 pixels
Height : 1 440 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 60.000 FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.002
Stream size : 32.8 MiB (72%)
Codec configuration box : avcC
Audio
ID : 2
Format : AAC LC
Format/Info : Advanced Audio Codec Low Complexity
Codec ID : mp4a-40-2
Duration : 12 min 28 s
Source duration : 12 min 28 s
Bit rate mode : Constant
Bit rate : 129 kb/s
Channel(s) : 2 channels
Channel layout : L R
Sampling rate : 48.0 kHz
Frame rate : 46.875 FPS (1024 SPF)
Compression mode : Lossy
Stream size : 11.5 MiB (25%)
Source stream size : 11.5 MiB (25%)
Default : Yes
Alternate group : 1
mdhd_Duration : 748352