Язык программирования Python

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

Приобретаемые навыки

  • разрабатывать программы на языке программирования Python;
  • создавать программы на python как в процедурном, так и в объектно-ориентированном стиле;
  • разрабатывать системные скрипты;
  • использовать в своих скриптах стандартные и сторонние библиотеки;
  • использовать для установки сторонних библиотек виртуальное окружение virtualenv;
  • работать с файлами, базой данных MySQL и SQLite;
  • создавать веб-сайты на python.
Курс для системных администраторов и DevOps-специалистов. Позволяет получить достаточный объем навыков программирования и использования библиотечных средств языка Python для автоматизации процессов администрирования, развертывания и мониторинга вычислительных систем.
Модуль 1. Введение в программирование на языке Python
  • базовые типы данных языка и операции над данными;
  • встроенные контейнеры: списки, кортежи, словари, множества;
  • операторы ветвления и циклов;
  • обработка исключений;
  • описание функций, области видимости переменных и передача параметров.
Модуль 2. Особенности использования функций в Python
  • функция как объект первого класса;
  • функции с произвольным количеством параметров, параметры по умолчанию;
  • лямбда-функции и замыкания;
  • создание декораторов.
Модуль 3. Инфраструктура и инструментарий разработки
  • модули и пакеты;
  • создание виртуального окружения virtualenv;
  • установка пакетов с помощью менеджера пакетов pip;
  • генерирование документации и тестирование;
  • средства статического анализа программного кода;
  • системы контроля версий.
Модуль 4. Введение в объектно-ориентированное программирование
  • объявление класса и создание экземпляров;
  • свойства и методы экземпляра класса, инкапсуляция;
  • наследование классов и переопределение методов;
  • “магические” методы __init__(), __repr__(), __str__() и др.
Модуль 5. Работа с файлами
  • чтение и запись данных в файл;
  • встроенные средства сериализации: pickle, json;
  • работа с данными в форматах csv и xml;
  • функции работы с объектами файловой системы;
  • средства логирования.
Модуль 6. Обработка строковых данных
  • представление строковых данных в различных кодировках;
  • встроенные методы для работы со строками;
  • регулярные выражения;
  • встроенные средства сравнения файлов;
  • обработка данных типа дата/время, часовые пояса.
Модуль 7. Взаимодействие с сетевыми службами
  • отправка электронной почты;
  • запрос данных по протоколу HTTP;
  • использование telnet;
  • использование ssh, библиотеки paramiko, netmiko.
Модуль 8. Хранение данных в СУБД
  • интерфейс для работы с реляционными СУБД;
  • взаимодействие с NoSQL СУБД: MongoDB, Redis, ElasticSearch.
Модуль 9. Параллельные вычисления
  • использование многопоточности для распараллеливания запросов;
  • использование процессов для распараллеливания продолжительных операций;
  • асинхронное программирование;
  • выполнение отложенных задач с использованием celery.
Модуль 10. Разработка пользовательских интерфейсов
  • консольный ввод/вывод;
  • обработка параметров командной строки;
  • запуск пользовательских процессов;
  • обзор средств построения графических и веб-интерфейсов.
Курс для специалистов автоматизированного тестирования веб-приложений. Включает необходимый набор знаний и навыков для автоматизации тестирования. Модуль 1. Введение в программирование на языке Python
  • базовые типы данных языка и операции над данными;
  • встроенные контейнеры: списки, кортежи, словари, множества;
  • операторы ветвления и циклов;
  • обработка исключений;
  • описание функций, области видимости переменных и передача параметров.
Модуль 2. Особенности использования функций в Python
  • функция как объект первого класса;
  • функции с произвольным количеством параметров, параметры по умолчанию;
  • лямбда-функции и замыкания;
  • создание декораторов.
Модуль 3. Инфраструктура и инструментарий разработки
  • модули и пакеты;
  • создание виртуального окружения virtualenv;
  • установка пакетов с помощью менеджера пакетов pip;
  • генерирование документации и тестирование;
  • средства статического анализа программного кода;
  • системы контроля версий.
Модуль 4. Введение в объектно-ориентированное программирование
  • объявление класса и создание экземпляров;
  • свойства и методы экземпляра класса, инкапсуляция;
  • наследование классов и переопределение методов;
  • “магические” методы __init__(), __repr__(), __str__() и др.
Модуль 5. Работа с файлами
  • чтение и запись данных в файл;
  • встроенные средства сериализации: pickle, json;
  • работа с данными в форматах csv и xml;
  • поиск данных в xml-документах при помощи XPath.
Модуль 6. Обработка строковых данных
  • представление строковых данных в различных кодировках;
  • встроенные методы для работы со строками;
  • регулярные выражения.
Модуль 7. Введение в веб-разработку
  • основы протокола HTTP;
  • введение в языки разметки и стилей html|/css;
  • построение логики приложения на примере фреймворка Flask;
  • понятие о cookie и сессиях.
Модуль 8. Хранение данных в СУБД
  • интерфейс для работы с реляционными СУБД;
  • взаимодействие с NoSQL СУБД: MongoDB, Redis, ElasticSearch.
Модуль 9. Параллельные вычисления
  • использование многопоточности для распараллеливания запросов;
  • использование процессов для распараллеливания продолжительных операций;
  • асинхронное программирование;
Модуль 10. Инструментарий для автоматизированного тестирования
  • библиотека unittest, подмена объектов с помощью unittest.mock;
  • тестирования веб-приложения с использованием selenium;
  • нагрузочное тестирование на примере locust.
Курс для продвинутых Python-разработчиков. В курсе детально рассматриваются сложные для понимания функции и механизмы языка Python, такие как метаклассы, дескрипторы, генераторы, сопрограммы и т.д. Предназначен для разработчиков, желающих глубже разобраться в тонкостях языка программирования Python. Модуль 1. Базовые синтаксические конструкции языка Python
  • объекты, типы и значения, управление памятью и сборка мусора;
  • особенности реализации встроенных контейнеров;
  • операторы ветвления и циклов;
  • порядок обработки исключений;
  • описание функций, области видимости переменных и передача параметров.
Модуль 2. Элементы функционального программирования
  • функция как объект первого класса;
  • функции с произвольным количеством параметров, параметры по умолчанию;
  • лямбда-функции и замыкания;
  • карринг и композиция;
  • объявление декораторов, декораторы с параметрами.
Модуль 3. Объектно-ориентированное программирование в Python
  • объявление класса и создание экземпляров;
  • множественное наследование и MRO, миксины;
  • порядок вызова super();
  • управление доступом к атрибутам класса.
Модуль 4. Переопределение “магических” методов класса
  • переопределение операторов сравнения и функции хеширования;
  • переопределение арифметических операторов;
  • управление сериализацией и копированием;
  • протокол контекст-менеджеров;
  • циклические ссылки, метод __del__();
  • метод __call__(), определение декораторов при помощи классов.
Модуль 5. Реализация пользовательских контейнеров
  • реализация контейнера при помощи наследования;
  • реализация контейнера при помощи агрегации;
  • доступ к элементам контейнера по индексу;
  • протокол итераторов.
Модуль 6. Генераторы
  • реализация итераторов на генераторах;
  • модуль itertools и ленивые вычисления;
  • сопрограммы (coroutine).
Модуль 7. Управление созданием классов
  • декораторы классов;
  • протокол дескрипторов;
  • метаклассы;
  • переопределение методов __init__(), __new__(), __call__() в метаклассах.
Модуль 8. Принципы и паттерны проектирования
  • принципы SOLID;
  • паттерны Абстрактная фабрика, Синглтон и NullObject;
  • паттерны Стратегия и Команда;
  • паттерн Наблюдатель.
Модуль 9. Параллельные и асинхронные вычисления
  • использование многопоточности для распараллеливания запросов;
  • использование процессов для распараллеливания продолжительных операций;
  • реализация многопоточного и асинхронного сервера;
  • операторы async/await.
Модуль 10. Модули и пакеты
  • способы импортирования модулей;
  • абсолютные и относительные импорты;
  • порядок импорта пакетов.
Курс для разработчиков веб-приложений. В курсе подробно изложены вопросы разработки веб-приложений на Python на примере использования фреймворка Flask. Особое внимание уделено особенностям сетевого взаимодействия и безопасности приложений. Модуль 1. Введение в программирование на языке Python
  • базовые типы данных языка и операции над данными;
  • встроенные контейнеры: списки, кортежи, словари, множества;
  • операторы ветвления и циклов;
  • обработка исключений;
  • описание функций, области видимости переменных и передача параметров.
Модуль 2. Особенности использования функций в Python
  • функция как объект первого класса;
  • функции с произвольным количеством параметров, параметры по умолчанию;
  • лямбда-функции и замыкания;
  • создание декораторов.
Модуль 3. Инфраструктура и инструментарий разработки
  • модули и пакеты;
  • создание виртуального окружения virtualenv;
  • установка пакетов с помощью менеджера пакетов pip;
  • генерирование документации и тестирование;
  • средства статического анализа программного кода;
  • системы контроля версий.
Модуль 4. Введение в объектно-ориентированное программирование
  • объявление класса и создание экземпляров;
  • свойства и методы экземпляра класса, инкапсуляция;
  • наследование классов и переопределение методов;
  • “магические” методы __init__(), __repr__(), __str__() и др.
Модуль 5. Введение в веб-разработку
  • основы протокола HTTP, интерфейс WSGI;
  • введение в языки разметки и стилей html|/css;
  • построение логики приложения на примере фреймворка Flask;
  • заголовки HTTP, понятие о cookie и сессиях.
Модуль 6. Хранение данных в СУБД
  • интерфейс для работы с реляционными СУБД;
  • использование ORM-систем на примере SQLAlchemy;
  • взаимодействие с NoSQL СУБД: MongoDB, Redis, ElasticSearch.
Модуль 7. Особенности использования фреймворка Flask
  • шаблонизатор Jinja2;
  • создание и обработка веб-форм;
  • использование cookies;
  • использование сессий.
Модуль 8. Безопасность веб-приложений
  • рейтинг уязвимостей OWASP;
  • атаки типа инъекций программного кода, пример применения и защита;
  • безопасная идентификация и аутентификация, пример применения атаки и защита;
  • CSRF-атаки, пример применения и защита;
  • XSS-атаки, пример применения и защита.
Модуль 9. Инструментарий для тестирования веб-приложений
  • библиотека unittest, подмена объектов с помощью unittest.mock;
  • тестирования веб-приложения с использованием selenium;
  • сканеры уязвимостей и fuzzing;
  • нагрузочное тестирование на примере locust.
Модуль 10. Технологии веб-разработки
  • работа с данными в форматах json и xml;
  • реализация REST-интерфейса;
  • выполнение отложенных задач с использованием celery;
  • протокол OAuth.
Курс Data Mining и Big Data Analysis. Курс посвящен вопросам разработки распределенных масштабируемых приложений, предназначенных для обработки данных больших объемов, в частности, неструктурированных текстовых данных, полученных из сети Internet. Модуль 1. Введение в программирование на языке Python
  • базовые типы данных языка и операции над данными;
  • встроенные контейнеры: списки, кортежи, словари, множества;
  • операторы ветвления и циклов;
  • обработка исключений;
  • описание функций, области видимости переменных и передача параметров;
  • модули и пакеты.
Модуль 2. Особенности использования функций в Python
  • функция как объект первого класса;
  • функции с произвольным количеством параметров, параметры по умолчанию;
  • лямбда-функции и замыкания;
  • создание декораторов.
Модуль 3. Введение в объектно-ориентированное программирование
  • объявление класса и создание экземпляров;
  • свойства и методы экземпляра класса, инкапсуляция;
  • наследование классов и переопределение методов;
  • “магические” методы __init__(), __repr__(), __str__() и др.
Модуль 4. Извлечение данных с удаленных веб-ресурсов
  • реализация паука на основе пакета scrapy;
  • парсинг статических веб-страниц;
  • парсинг динамических веб-страниц при помощи selenium;
  • идентификация html-блоков при помощи XPath;
  • извлечение строковых данных при помощи регулярных выражений.
Модуль 5. Хранение и поиск информации
  • NoSQL СУБД;
  • масштабируемые системы типа ключ-значения на примере Redis;
  • система атрибутивного и полнотекстового поиска Elasticsearch.
Модуль 6. Обработка текстовых данных
  • определение кодировки текста;
  • получение базовой формы слова, стемминг;
  • расстояние Левенштейна;
  • пакет nltk.
Модуль 7. Обработка числовых данных
  • пакет numpy;
  • пакет pandas.
Модуль 8. Повышение производительности вычислений
  • распараллеливание запросов при помощи потоков;
  • параллельные вычисления на основе процессов;
  • асинхронные запросы к сети.
Модуль 9. Разработка масштабируемых приложений с использованием celery
  • протокол AMQP;
  • архитектура celery-кластера;
  • распределение задач между celery-воркерами.
Модуль 10. Разработка масштабируемых приложений с на основе MapReduce
  • основы использования Hadoop;
  • распределенная файловая система HDFS;
  • реализация MapReduce-приложений.
  • Желателен опыт программирования на любом из языков высокого уровня.

Запись на курс

Код курсаEA-Python
Длительность5д (40ч)
Код экзамена
Стоимость без НДС9 300 000 UZS
spinner-it