Предоставление знаний по синтаксису и технологиям Python, для специалистов с имеющимися навыками программирования
НА ЯЗЫКЕ
PYTHON
ПРОГРАММИРОВАНИЕ
C, C++, Pascal, Delph
Необходимо
знание основ
программирования
длительность
формат обучения
Очно-заочный
часа
72
Программа курса
Раздел I
Введение в Python
Положение среди других языков программирования. Преимущества. Недостатки. Области применения. Инструментарий. PEP 20: дзен Питона. Как выполняется код. Основы синтаксиса. Виртуальное окружение. PEP 8: кодинг стайл.
Функции и объекты
Функции и функциональный подход. Введение в ООП. Переменные, объекты и динамическая типизация. Сборщик мусора.
Основы программирования на Python: простые типы данных
Операторы Python. Простые типы данных. Операторы условия. Циклы.
Основы программирования на Python: контейнерные типы данных, файлы, модули, декораторы'
Контейнерные типы (коллекции): кортежи, списки, множества, словари. Работа с файлами. Модули и импорты. Области видимости. Рекурсия. Декораторы.
Объектно-ориентированное программирование в Python
Пользовательские типы классы. Атрибуты (поля и методы) класса. Self. Принципы ООП в Python. Статические и классовые методы. Магические методы. Вычисляемые свойства property. Исключения.
Специальные конструкции Python
Итераторы. Генераторы. Менеджер контекста.
Возможности стандартной библиотеки
Стандартная библиотека. time - примитивная работа со временем. datetime - работа с датой и временем. collections - умные последовательности. random - неслучайные случайности. sys - взаимодействие с интерпретатором Python. os - работа с сервисами операционной системы. shutil - работа с утилитами командной строки. subprocess - управление процессами. ZipFile - работа с архивами. re - регулярные выражения. pickle - сериализация в набор байтов. json - сериализация в JSON формат.
Раздел II
Параллельное программирование
Общая информация. Процессы. Потоки. Многопоточность. Модуль threading. Межпоточное взаимодействие. Объекты синхронизации. Потокобезопасная очередь. GIL - Global Interpreter Lock. Green threads. Asyncio. Многопроцессность. Межпроцессное взаимодействие. Синхронизация процессов. Использование разделяемой памяти. Создание пула процессов.
Тестирование программного обеспечения
Общая информация. Виды тестирования. unittest. coverage. nose. nose coverage. mock. mock: @mock.patch. Системное тестирование. selenium. robotframework.
Работа с базами данных
Базы данных. Модели данных. SQL. Базы данных в Python. Python DB API. SQLite. ORM. SQLAlchemy. MongoDB. Redis.
Django
Общая информация. Принципы и методики. Архитектурная концепция. Как работает интернет-сайт. Проект веб-сайта. Запуск прототипа. Приложения. Представления. Представления и шаблоны. Миграции. Модели. Модели и базы данных. Superuser. Валидаторы. Язык шаблонов Django. Работа с моделями из представлений. Формы. Обработка POST запросов. Расширение шаблонов. Использование CSS.
Работа с сетью
Сокеты. Методы сокетов. TCP сервер и TCP клиент. UDP сервер и UDP клиент. Многопоточный TCP сервер. Протокол HTTP. Структура HTTP сообщения. Создание HTTP сервера. urllib. xmlrpc server и xmlrpc client. cherrypy. smtplib.
Взаимодействие между компонентами сложной системы
Общая информация. AMQP. RabbitMQ. Celery.
Стоимость обучения
руб.
18 000
Автор курса Python
Ведущий инженер с более чем 12-летним опытом промышленной разработки на языках C/C++, Python, JavaScript, преподаватель авторского курса Python в НИИТ, КУПНО, спикер конференций DevDays, Women in Big Data. Специализируется на задачах обработки и хранения данных большого объема.
Илья Орлов
НАВИГАЦИЯ
Тильда Паблишинг
создайте свой собственный блок с нуля
Единый центр управления изменениями и трансформации сознания государственных служащих Нижегородской области
ОФИС УНИВЕРСИТЕТА
E-mail:
Тел:
Адрес: