Курс Python Pro
Після курсу Ви зможете:
- Розуміти, як влаштоване програмування, і чому в нього немає нічого спільного з чаклунством
- Створювати грамотну структуру програми
- Писати правильний і робочий код без помилок, який буде зрозумілим для стороннього розробника
- Створювати невеликі інструментальні програми на 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
- HTTP
- HTML, парсинг HTML-файлів
- XML
19. Багатопотоковість у Python
- Global Interpreter Loc (GIL)
- Створення потоків у Python
- Контроль доступу до ресурсів
- Синхронізація потоків
- Створення потоків за допомогою пакету concurent
- Пул потоків
20. Процеси в Python
- Пакет multiprocessing
- Interprocess communication
- Черги завдань
- Створення процесів за допомогою пакету concurent
- Пул процесів
- Відтермінування завдань за допомогою пакета sched
21. Асинхронне програмування
- Asyncio
- Пакет Twisted
- Асинхронний фреймворк Aiohttp
- Збір даних за допомогою фреймворку Scrapy SQL
- Основи реляційних баз даних
- ER-діаграми
- Стандарт PEP249
22. Робота з СУБД SQLite, PostgreSQL
- Основи мови SQL (SELECT, LIKE, ORDER BY, LIMIT)
- NSERT
- 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
- Робота з MongoDB
- Брокер повідомлень RabbitMQ
- Основи роботи з Celery
25. Веб-розробка
- Класифікація web frameworks
- Мова шаблонів Jinja2
- Основи API
- Стандарти API (REST, XML-RPC, Swagger, JSON API)
- Архітектурний підхід API First
- Основи роботи з Flask
26. Як скласти резюме і пройти співбесіду
- Структура резюме
- FAQ
- Як вести себе на співбесіді
- Основні помилки на співбесіді
- Урок англійської мови №1
- Урок англійської мови №2
- Урок пошуку роботи
* Примітка: зазначені знижки не сумуються з іншими діючими акціями та спеціальними пропозиціями. Знижка застосовується тільки до нових заявок та при умові повної оплати курсу. Якщо у Вас виникли питання, звертайтеся за консультацією до наших менеджерів!
Тривалість курсу: 21 год.