Курс Python Pro
Описание курса
Простой в изучении, мощный и удобный в использовании — все это о 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. Как составить резюме и пройти собеседование
- Структура резюме
- Часто задаваемые вопросы
- Как вести себя на собеседовании
- Основные ошибки на собеседовании
- Бонусное занятие по английскому языку
- Урок поиска работы
Минимальные требования:
- Вы — студент, решивший связать жизнь с программированием, и вам нужен универсальный инструмент, который будет актуален долгие годы
- Вы что-то знаете о программировании и языке Python, но хаотичных знаний уже недостаточно
- Вы никогда не работали в IT, но решили рискнуть. Теперь вам нужно направление, которое будет достаточно простым в освоении и востребованным на рынке
- Вы намерены заниматься Data Science, а для этого вам необходим Python для удобной работы с большими данными
Лекторы:
Курс Python Pro в Днепре
* Примечание: указанные скидки не суммируются с другими действующими акциями и специальными предложениями. Скидка применяется только к новым заявкам и при условии полной оплаты. Если у Вас возникли вопросы, обращайтесь за консультацией к нашим менеджерам!
Длительность курса: 21 ч.