Продвинутый курс Python

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

Курс также будет полезен уже квалифицированным пользователям. Программа построена по принципу 20% лекционного материала, 80% лабораторные работы.

Длительность курса 54 часа (18 занятий). График занятий: по 2-3 раза в неделю.

После курса вы сможете:

  • Разрабатывать программы на языке Python
  • Подготовиться к курсу "Веб-разработка на Python / Django", после которого вы сможете претендовать на позицию Junior Python Web Developer.

Программа курса

Функции

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

Объектно-ориентированный подход

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

Управление созданием экземпляров класса

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

Приемы объектно-ориентированного программирования

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

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

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

Работа с файлами

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

Встроенные пакеты Python.

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

Networking

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

Многопоточность в Python

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

Процессы в Python

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

Асинхронное программирование

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

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

Object Relational Mapping

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

NoSQL-базы данных

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

Web-разработка

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

Предварительные требования

ДОКУМЕНТЫ ПО ОКОНЧАНИИ

Сертификат Учебного центра Softline об окончании курса и справка об обучении установленного образца: 

Сертификат Softline_образец Cправка

Информация о курсе

1710 бел. р. с НДС 20%

Вендор: Python, Java, JS, C#, C++
Код курса: Python-Adv
Продолжительность: 18 дней / 54 ак. часа
Направление: Python
Экзамен :

n/a

Базовый курс C# /.NET (вечерний курс)
C#Base
дистанционно, с 11 мая
Анализ данных при помощи SQL Server Reporting Services
10990
дистанционно, 11-14 мая; 28 июня - 1 июля
Все предложения
Записаться на курс

Название курса и комментарии*

Имя*

Фамилия*

Отчество*

Компания

Телефон*

Email*

Настоящим, в соответствии с ч.2.ст.18 Закона Республики Беларусь от 10.11.2008 N 455-З(ред. от 11.05.2016) "Об информации, информатизации и защите информации", отправляя данную форму, вы подтверждаете свое согласие на сбор, обработку и хранение ООО «СофтЛайнБел» Ваших персональных данных. ООО «СофтЛайнБел» гарантирует конфиденциальность получаемой от Вас информации. Сбор, обработка и хранение персональных данных осуществляется в целях эффективного оказания услуг, исполнения договоров и пр.