Курс Python Pro

Старт обучения
Дату уточните у администрации
93 час. по 2-3 раза в неделю

Описание курса

Старт курса — 6 декабря 2022 года.

 

Простой в изучении, мощный и удобный в использовании — все это о Python. На этом языке хорошо пишется практически все, он отлично чувствует себя в вебе и почти незаменим в современных отраслях IT.

 

Помимо десктопного ПО и сайтов, его используют в программировании контроллеров, смарт технологий и Data Science, где он по праву считается лучшим.

 

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

 

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

 

Программное обеспечение, необходимое для обучения на курсе:

 

1. Python. Для освоения языка нам понадобится интерпретатор Python.

2. PyCharm или VSCode. Это так называемая интегрированная среда разработки, предназначенная для полного цикла написания и тестирования программ на определенном языке.

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

  • Понимать, как устроено программирование, и почему у него нет ничего общего с волшебством
  • Создавать грамотную структуру программы
  • Писать правильный и рабочий код без ошибок, который понятен для стороннего разработчика
  • Создавать небольшие инструментальные программы на Python (например, калькулятор или простой рандомайзер) и более сложные программы
  • Всем необходимым знаниям для старта обучения на курсе "Веб-разработка на Python/Django", после которого вы сможете претендовать на позицию Junior Python Developer

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

1. Зачем нужны компьютерные программы?

  • Программирование как творческий процесс
  • Архитектура компьютера
  • В чем суть программирования?
  • Процесс «общения» с Python
  • Интерпретатор и компилятор
  • Процесс написания программ
  • Что же такое программа?
  • Принципы программирования
  • Парадигмы программирования
  • Упражнения

2. Переменные, выражения и инструкции Python

  • Понятие «значение» и «тип»
  • Переменные
  • Имена переменных и ключевые (зарезервированные) слова
  • Операторы
  • Операторы и операнды
  • Выражения
  • Порядок операций
  • Строковые операции
  • Ввод данных
  • Комментарии
  • Упражнения

3. Управление потоком выполнения

  • Логические выражения
  • Логические операторы
  • Условное выполнение
  • Последовательность условий
  • Вложенные условия
  • Перехват исключений с использованием try и except
  • Упражнения

4. Итерации

  • Обновления переменной
  • Инструкция while
  • Бесконечные циклы
  • «Бесконечные циклы» и break
  • Завершение итерации с помощью continue
  • Списки
  • Определение циклов с помощью for
  • Обход списков с помощью цикла for
  • Упражнения

5. Функции и модули

  • Вызов функции
  • Встроенные функции
  • Функции приведения типов
  • Случайные числа
  • Математические функции
  • Добавление новых функций
  • Определение и использование
  • Параметры функции
  • Модульные тесты
  • Имена файлов и пути
  • Создание собственных модулей и пакетов
  • Инициализация пакета
  • Обработка аргументов командной строки
  • Определение параметров среды выполнения
  • Создание виртуальных сред
  • Автоматическая инициализация пакетов
  • Упражнения

6. Строки

  • Строка — это последовательность
  • Получение длины строки с использованием len
  • Обход через строку с помощью цикла
  • Срез строки
  • Строки являются неизменными
  • Оператор in
  • Сравнение строк
  • Строчные методы
  • Разбор (parsing) строк
  • Оператор форматирования
  • Регулярные выражения
  • Упражнения

7. Основы работы с системой контроля версий


8. Файлы

  • Введение
  • Открытие файлов
  • Текстовый файл и строки
  • Чтение файлов
  • Поиск через файл
  • Оператор with
  • Запись файлов
  • Упражнения

9. Коллекции

  • Что такое коллекция в Python
  • Типы коллекций
  • Массивы и методы работы с ними
  • Списки и методы работы с ними
  • Кортежи и методы работы с ними
  • Множества и неизменяемые множества
  • Словари, методы работы со словарями
  • Циклы по коллекциям
  • Практика

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

  • Функция объект первого класса
  • Функции, зависящие от функций
  • Замыкания
  • Каррирование
  • Лямбда-функции
  • Декораторы
  • Упражнения

11. Функции

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

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

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

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

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

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

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

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

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

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

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

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

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

18. Networking

  • Sockets (основы работы, примеры серверов)
  • Socket server
  • Socket Client

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

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

20. Процессы в Python

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

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

  • Asyncio
  • Пакет Twisted
  • Асинхронный фреймворк Aiohttp

22. 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

23. Object Relational Mapping

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

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

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

25. Веб-разработка

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

26. Как составить резюме и пройти собеседование

  • Структура резюме
  • Часто задаваемые вопросы
  • Как вести себя на собеседовании
  • Основные ошибки на собеседовании
  • Урок английского языка №1
  • Урок английского языка №2
  • Урок поиска работы

Минимальные требования:

  • Вы — студент, решивший связать жизнь с программированием, и вам нужен универсальный инструмент, который будет актуален долгие годы
  • Вы что-то знаете о программировании и языке Python, но хаотичных знаний уже недостаточно
  • Вы никогда не работали в IT, но решили рискнуть. Теперь вам нужно направление, которое будет достаточно простым в освоении и востребованным на рынке
  • Вы намерены заниматься Data Science, а для этого вам необходим Python для удобной работы с большими данными

Лекторы:


Курс Python Pro в Ташкенте

* Указанные скидки не суммируются с другими действующими акциями и специальными предложениями. Если у Вас возникли вопросы, обращайтесь за консультацией к нашим менеджерам!

spinner-it