Главная » Каталог компьютерных курсов » Основы программирования на Python

Основы программирования на Python

Основы программирования на Python

Python – современный активно-развивающийся универсальный язык программирования высокого уровня, ориентированный на повышение производительности разработчика и читаемости кода. Язык имеет минималистичный синтаксис, однако его стандартная библиотека очень обширна и покрывает практически все типовые задачи, встречаемые в практике программиста от асинхронной обработки до архивирования файлов. Поэтому часто говорят, что Python – это «язык с батарейками».

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

Курс “Основы программирования на Python” поможет Вам познакомиться с миром современных средств быстрой разработки приложений. В рамках курса вы сможете познакомиться с синтаксисом языка Python, основными типами данных и управляющих конструкций, основными модулями обработки данных, взаимодействия с базами данных, обработки изображений, средствами сетевого взаимодействия и проектирования графического пользовательского интерфейса. Также в курсе рассматриваются автоматизированный поиск информации в сети Интернет, введение в разработку игр на Python, отладка и рефакторинг кода. Занятия проходят в режиме тренинга. Курс содержит большое количество домашних заданий различной степени сложности.

Для более эффективного усвоения материалов курса слушателям рекомендуется:

  • иметь базовые знания об архитектуре персонального компьютера;
  • уметь пользоваться компьютером на уровне опытного пользователя;
  • понимать основные языковые конструкции: присваивание, ветвления, циклы, функции, строки и массивы;

Очень приветствуются опыт разработки (даже учебный) на любом языке программирования, а также наличие алгоритмического мышления.

Программа курса “Основы программирования на Python”

Занятие 1. Введение в Python
Занятие 2. Основные коллекции языка Python и операции над ними
Занятие 3. Основные управляющие конструкции
Занятие 4. Средства структурирования кода
Занятие 5. Объектно-ориентированное программирование. Введение. Инкапсуляция. Композиция
Занятие 6. Объектно-ориентированное программирование. Наследование и полиморфизм. Обработка исключительных ситуаций
Занятие 7. Программирование графического пользовательского интерфейса. PyQt5
Занятие 8. Стандартная библиотека языка Python. Файлы
Занятие 9. Работа с базами данных
Занятие 10. Обработка изображений
Занятие 11. Введение в разработку игр на языке Python
Занятие 12. Обработка текстов. Сбор информации в сети Интернет
Занятие 13. Работа с данными в различных форматах
Занятие 14. Web-приложения на Python
Занятие 15. Отладка, тестирование и рефакторинг кода

Полная программа курса “Основы программирования на Python”

Занятие 1. Введение в Python

  • Основные парадигмы программирования
  • Python и другие языки
  • Интерпретатор Python и его установка
  • Принципы работы интерпретатора
  • Выбор IDE для работы с Python (Eclipse, Visual Studio, PyCharm)
  • Основы работы в среде PyCharm
  • Функции ввода-вывода (input и print)
  • Элементарные (скалярные) типы данных (числа, логические величины, None)
  • Арифметические и логические операции
  • Функции модуля Math
  • Работа с комплексными и рациональными числами
  • Модуль random – псевдослучайные числа
  • Значения inf и nan
  • Неформальное введение в основные возможности языка Python
    • Присваивание
    • Ветвления
    • Циклы

Занятие 2. Основные коллекции языка Python и операции над ними

  • Принципы динамической типизации
  • Литералы (литеральные константы)
  • Переменные
  • Операции, выражения, операторы и инструкции
  • Оператор присваивания. Комбинированное присваивание
  • Модель присваивания языка Python
  • Строки. Основные операции, форматирование
  • Кортеж. Основные операции с кортежем
  • Список. Основные операции со списком
  • Множество. Основные операции с множествами
  • Словарь. Основные операции со словарем
  • Преобразование типов
  • Ссылки и копии
  • Диапазоны и срезы. Классы range и slice
  • Оператор del

Занятие 3. Основные управляющие конструкции

  • Структурное программирование
  • Структура программы. Блок
  • Комментарии
  • Управление ходом выполнения программы
  • Управляющие конструкции в программировании
  • Линейные вычисления
  • Ветвления
  • Цикл с параметром
  • Цикл с условием
  • Операторы pass, break, continue
  • Философия языка Python
  • PEP 8. Стиль программирования

Занятие 4. Средства структурирования кода

  • Функции и процедурное программирование
  • Определение функции
  • Вызов функции
  • Формальные и фактические параметры
  • Возвращаемые значения
  • Документирование кода
  • Области видимости
  • Вложенные определения функций
  • Операторы global и nonlocal
  • Лямбда-функции
  • Функции как объекты первого класса
  • Функции как параметры и как результат
  • Рекурсия и замыкания (неформальное введение)
  • Создание и использование модулей
  • Инструкция import
  • Точка входа в программу
  • Пакеты. Управление пакетами в Python, ресурс www.pypi.python.org

Занятие 5. Объектно-ориентированное программирование. Введение. Инкапсуляция. Композиция

  • Классы и объектно-ориентированное программирование
  • Объектно-ориентированная модель языка Python
  • Инкапсуляция
  • Создание класса
  • Объект, как экземпляр класса
  • Данные класса и данные экземпляра класса
  • Атрибуты (поля)
  • Методы
  • Свойства
  • Конструктор и деструктор
  • Композиция
  • Обращение к методам и атрибутам атрибутов

Занятие 6. Объектно-ориентированное программирование. Наследование и полиморфизм. Обработка исключительных ситуаций

  • Наследование. Родительские и производные классы
  • Правила наследования
  • Обращение к методам родительского класса
  • Виртуальные методы
  • Полиморфизм в языке Python
  • Специальные методы класса
  • Статические методы и методы класса
  • Исключения и их обработка. Операторы try и raise
  • Пользовательские исключения
  • Функторы

Занятие 7. Программирование графического пользовательского интерфейса. PyQt5

  • Консольные и графические приложения
  • Принципы проектирования пользовательского интерфейса
  • Инструментарий Python для создания графического интерфейса (Tkinter, wxPython, PyQt, PyGTK)
  • PyQt5. Модели лицензирования
  • Окно и его элементы
  • Меню и панели инструментов
  • Управление макетом приложения
  • Диалоговые окна
  • События, сигналы и слоты
  • Основные виджеты PyQt5
  • Qt Designer. Визуальное проектирование интерфейса

Занятие 8. Стандартная библиотека языка Python. Файлы

  • Стандартные функции языка Python
  • Основные модули стандартной библиотеки
  • Сборка мусора – модуль gc
  • Модуль collections – некоторые коллекции стандартной библиотеки
  • Работа с датой и временем в языке Python
  • Криптографические возможности встроенной библиотеки
  • Файлы
  • Потоковый ввод/вывод
  • Перенаправление потоков ввода/вывода
  • Модули pickle и shelve
  • Модули os и os.path. Взаимодействие с файловой системой
  • Модуль sys. Взаимодействие с интерпретатором Python

Занятие 9. Работа с базами данных

  • Реляционные и нереляционные базы данных. SQL и NoSQL
  • Нормализация. Нормальные формы
  • Краткое введение в SQL. CRUD
  • Спецификация Python Database API 2.0
  • Соединение и его методы
  • Курсор, работа с запросами
  • СУБД MySQL
  • Среда разработки MySQL Workbench
  • Использование библиотеки Mysqlclient

Занятие 10. Обработка изображений

  • Обзор библиотеки Pillow
  • Загрузка готового изображения
  • Создание нового изображения
  • Получение информации об изображении
  • Манипулирование изображением
  • Рисование линий и фигур
  • Вывод текста
  • Создание скриншотов

Занятие 11. Введение в разработку игр на языке Python

  • Виды игровых приложений
  • Предметная область разработки игр
  • Групповая практическая разработка архитектуры нескольких игровых приложений (Шашки, Домино, Кости и т.д.). Мозговой штурм под руководством преподавателя
  • Используемый инструментарий
  • Краткий обзор библиотеки Pygame

Занятие 12. Обработка текстов. Сбор информации в сети Интернет

  • Строковые методы
  • Средства модуля string
  • Синтаксический анализ
  • Поиск по образцу. Регулярные выражения. Средства модуля re
  • Грамматика текстовых выражений
  • Генераторы парсеров в Python
  • Автоматизированный сбор данных в сети Интернет. Скраперы. Библиотека BeautifulSoup
  • Поисковые пауки. Построение краулеров

Занятие 13. Работа с данными в различных форматах

  • Электронные таблицы Excel
  • Документы в форматах PDF и Word
  • Электронная почта и текстовые сообщения

Занятие 14. Web-приложения на Python

  • Пример разработки Web-приложения на Python
  • Urllib – модули стандартной библиотеки для работы с URL
  • Модуль requests
  • Модуль webbrowser
  • Python и фреймворки

Занятие 15. Отладка, тестирование и рефакторинг кода

  • Отладка кода.
  • Точки останова. Просмотр значений переменных
  • Использование среды PyCharm для отладки кода
  • Тестирование кода. Оператор assert
  • Принципы тестирования кода
  • Написание модульных тестов
  • Модули unittest и doctest
  • TDD – разработка через тестирование
  • Рефакторинг кода. Причины и принципы рефакторинга

Ждем Вас на курсах по программированию на Python. Приходите учиться к нам, чтобы стать настоящим профессионалом! На наших компьютерных курсах Вы получите реальные компьютерные навыки и будете успешно конкурировать на рынке труда!