01

+380 44 323 88 88

  • Пн-Пт 9:00-18:00
  • Сб-Вс Выходные

Python. Продвинутый курс (SCRIPT-003)

Цель: овладеть продвинутыми умениями и навыками программирования на Python.

Курс предназначен для тех, кто имеет основы разработки на Python.

Продолжительность курса: 5 дней (40 часов).

Форма обучения: вечерняя группа онлайн/очно.

Специальная обучающая программа построена по правилу «80/20», то есть 20% времени придется на лекционный материал, а 80% — на лабораторные работы.

СОДЕРЖАНИЕ ПРОГРАММЫ

Модуль 1. Опции

  • Типы данных
  • Встроенные контейнеры
  • Операторы контроля выполнения
  • Обработка ошибок (try...except...)
  • Операторы циклов
  • Comprehensions (list, dict, set)
  • Создание функции и процедур
  • Аргументы функций
  • Рекурсивные функции
  • Functors, Currying
  • Декораторы
  • Lambda-функции
  • PEP8

Модуль 2. Объектно-ориентированный подход

  • Объявление класса и создание экземпляра
  • Принципы ООП (подражание, инкапсуляция, полиморфизм) в Python
  • бласть видимости (Namespaces, Scope, правило LEGB)
  • Метод Resolution Order (MRO)
  • Магические методы
  • Определение математических операций для объектов Python
  • Определение операций сравнения для объектов Python
  • Определение операций хеширования для объектов Python
  • Создание копии экземпляра класса, deep copy, shallow copy
  • Инкапсуляция (Setters and getters)

Модуль 3. Управление созданием экземпляров класса Doc strings

  • Meta-классы
  • Abstract Bases-классы, __new__, __init__
  • Context-managers
  • Использование декораторов с классами
  • Контейнеры, созданные путём подражания (UserList, UserDict, UserString)
  • Контейнеры созданы путём агрегации
  • Методы доступа к элементам контейнера
  • Iterators, Generators

Модуль 4. Приемы объектно-ориентированного программирования

  • Software Engineering как процесс
  • Язык UML
  • Принципы SOLID
  • Метрики качества кода
  • Design Patterns (категории, примеры использования)
  • Singletone
  • Facade
  • Interface
  • Proxy
  • Abstract Factory
  • Factory Method
  • Command
  • Observer

Модуль 5. Модули и пакеты

  • Разработка модулей (определение и запуск)
  • Система импорта
  • Разработка повторно используемых пакетов
  • Менеджер пакетов pip и виртуальные среды virtualenv
  • py
  • Написание документации к пакету, модулю
  • Создание программ на основе пакетов

Модуль 6. Работа с файлами

  • Работа с системой контроля версий Git
  • Форматирование строк
  • Context-managers
  • Работа с файловой системой (os, os.path, shutil)
  • Сериализация с помощью pickle
  • Управление порядком сериализации/десериализации объектов Python
  • Сериализация данных в json
  • Сериализация данных в xml

Модуль 7. Интегрированные пакеты Python

  • Работа с datetime и calendar
  • Работа с collections (очереди, именуемые кортежи, вложенные словари)
  • Работа с heapq, array, enum
  • Работа с числовыми данными (numbers, math, decimal, random)
  • Работа с contextlib
  • Работа с functools
  • Logging
  • Unittest

Модуль 8. Networking

  • Sockets (основы работы, примеры серверов)
  • Socket server
  • Socket Client
  • HTTP
  • HTML, парсинг HTML-файлов
  • XML

Модуль 9. Многопоточность в Python Global Interpreter Loc (GIL)

  • Создание потоков в Python
  • Контроль доступа к ресурсам
  • Синхронизация потоков
  • Создание потоков с помощью пакета concurent
  • Пул потоков

Модуль 10. Процессы в Python

  • Пакет multiprocessing
  • Interprocess communication
  • Очереди задач
  • Создание процессов с помощью пакета concurent
  • Пул процессов
  • Отсрочка задач с помощью пакета sched

Модуль 11. Асинхронное программирование Asyncio

  • Пакет Twisted
  • Асинхронный фреймворк Aiohttp
  • Сбор данных с помощью фреймворка Scrapy

Модуль 12. SQL

  • Основы реляционных баз данных
  • ER-диаграммы
  • Стандарт PEP249
  • Работа с СУБД SQLite, PostgreSQL
  • Основы языка SQL (SELECT, LIKE, ORDER BY, LIMIT)
  • INSERT
  • UPDATE
  • DELETE
  • JOIN (INNER, LEFT, OUTER)
  • GROUP BY
  • Функции SQL (mean, min, max, avg, count)
  • Subqueries

Модуль 13. Object Relational Mapping

  • Основы работы с SQLAlchemy
  • Механизм сессий в SQLAlchemy
  • Создание базы данных с помощью моделей SQLAlchemy
  • Миграции баз данных с помощью Alembic

Модуль 14. NoSQL базы данных

  • CAP теорема
  • Типы NoSQL баз данных
  • Работа с Redis
  • Работа с Memcached
  • Работа с MongoDB
  • Брокер сообщений RabbitMQ
  • Основы работы с Celery

Модуль 15. Web-розробка

  • Классификация web frameworks
  • Язык шаблонов Jinja2
  • Основы API
  • Стандарты API (REST, XML-RPC, Swagger, JSON API)
  • Архитектурный подход API First
  • Основы работы с Flask

Ми приєдналися до бойкоту російської та білоруської продукції. Слава Україні!

We joined the boycott of russian and belarusian products. Glory to Ukraine!!

прапор України