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

python_logo

Продолжительность курса — 5 дней

Введение в программирование на Python

  • эволюция и современное значение языка Python
  • краткое введение в синтаксис: константы, идентификаторы, ключевые слова
  • упражнение​: установка интерпретатора и интегрированной среды разработки Основы процедурного программирования
  • типы данных
  • арифметические и логические операции
  • упорядоченные коллекции: строки, списки, кортежи
  • управление потоком выполнения программы; ветвление и циклы
  • создание и вызов функций, правило LEGB
  • упражнение​: разработка консольной программы “Телефонный справочник”
  • неупорядоченные коллекции: словари и множества
  • обработка исключений
  • модули и пакеты

Инструментарий разработчика

  • документирующие комментарии
  • модульные тесты и рефакторинг
  • конвенции оформления программного кода, PEP8
  • инструменты статического анализа программного кода
  • упражнение​: рефакторинг программы “Телефонный справочник” с использованием словарей и исключений

Элементы функционального программирования

  • функция как объект первого класса
  • лямбда­функции и замыкания
  • рекурсивные функции
  • декораторы
  • упражнение​: устранение дублирования кода в программе “Телефонный справочник”
  • Введение в объектно­ориентированное программирование
  • объектно­ориентированное программирование
  • конструкторы класса и переопределение операций
  • наследование и полиморфизм
  • отношения между классами, диаграммы классов UML
  • упражнение​: рефакторинг программы “Телефонный справочник” с использованием классов

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

  • текстовые и бинарные файлы
  • сериализация данных
  • реализация контекст­менеджера
  • упражнение​: сериализация и десериализация данных в программе “Телефонный справочник”
  • Усовершенствованные приемы программирования
  • списочные выражения
  • протокол итераторов
  • протокол дескрипторов
  • генераторы и генераторные выражения
  • разработка пользовательских коллекций
  • метаклассы

Профилирование и оптимизация

  • оценка времени работы программы
  • оптимизация по времени работы
  • классы и слоты

Язык XML

  • введение в XML
  • использование SAX­парсера
  • упражнение​: XML­сериализация в программе “Телефонный справочник”

Инструментарий поддержки среды выполнения

  • установка и управление пакетами
  • виртуальная среда проекта

Интерфейсы пользователя

  • разработка пользовательских интерфейсов
  • паттерн MVC
  • связность и сцепленность
  • упражнение​: декомпозиция программы “Телефонный справочник” в соответствии с паттерном MVC

Desktop­приложения

  • разработка оконного интерфейса
  • процессы и потоки
  • введение в библиотеку tkinter
  • упражнение​: разработка графического пользовательского интерфейса для программы “Телефонный справочник”

Программирование сетевых приложений

  • взаимодействие через сокеты
  • синхронные и асинхронные сокеты
  • библиотека gevent
  • распределенные вычисления на основе фреймворка celery

Разработка web­интерфейсов

  • основы протокола HTTP
  • фреймворк Flask для создания web­приложений
  • введение в HTML5, CSS3, Twitter Bootstrap
  • шаблонизатор Jinja2
  • виды HTTP­запросов и HTML­формы
  • система управления базами данных MongoDB
  • упражнение​: разработка web­интерфейса для программы “Телефонный справочник”
Язык программирования Python
Курсы по программированию,