Курс Python Pro
Вивчіть основи мови й почніть розробляти складні програми на Python
Проста у вивченні, потужна та зручна у використанні — усе це про Python. Цією мовою добре пишеться майже все, вона відмінно почуває себе у вебі та є майже незамінною в сучасних галузях ІТ.Окрім десктопного ПЗ та сайтів, її використовують у програмуванні контролерів, смарт технологій та Data Science, де вона закономірно вважається найкращою.
Після проходження курсу Python ви навчитеся досягати бажаного результату за допомогою чистого та правильного коду, а після — будете готові до подальшого навчання просунутіших речей та створення власних проєктів. Після завершення курсу ви будете розуміти, як влаштоване програмування, зможете створювати грамотну структуру програми та писати правильний робочий код без помилок, який буде зрозумілим навіть для стороннього розробника.
Ви створите невеликі інструментальні програми на Python, а також зможете використовувати в роботі прийоми об’єктно-орієнтованого програмування та розбиратися в просунутих аспектах мови.
Програмне забезпечення, необхідне для навчання на курсі:
1. Python. Для опанування мови вам знадобиться інтерпретатор Python. Його можна встановити за посиланням.
2. PyCharm або VSCode. Це так зване інтеграційне середовище розробки, призначене для повного циклу написання й тестування програми певною мовою.
- Теорії без практики
- Застарілих механік роботи
- Переказу чужих лекцій і книг
- Питань без відповіді
Це буде захоплююче та ефективно!
- Програмування як творчий процес
- Архітектура комп’ютера
- У чому суть програмування?
- Процес «спілкування» з Python
- Інтерпретатор і компілятор
- Процес написання програм
- Що ж таке програма?
- Принципи програмування
- Парадигми програмування
- Вправи
- Поняття «значення» і «тип»
- Змінні
- Імена змінних і ключові (зарезервовані) слова
- Оператори
- Оператори і операнди
- Вирази
- Порядок операцій
- Операції з рядками
- Ввід даних
- Коментарі
- Вправи
- Логічні вирази
- Логічні оператори
- Умовне виконання
- Послідовність умов
- Вкладені умови
- Перехоплення винятків з використанням try і except
- Вправи
- Оновлення змінної
- Інструкція while
- Нескінченні цикли
- «Нескінченні цикли» і break
- Завершення ітерації за допомогою continue
- Списки
- Визначення циклів за допомогою for
- Обхід списків за допомогою циклу for
- Вправи
- Виклик функції
- Вбудовані функції
- Функції приведення типів
- Випадкові числа
- Математичні функції
- Додавання нових функцій
- Визначення і використання
- Параметри функції
- Модульні тести
- Імена файлів і шляхи
- Створення власних модулів і пакетів
- Ініціалізація пакета
- Обробка аргументів командного рядка
- Визначення параметрів середовища виконання
- Створення віртуальних середовищ
- Автоматична ініціалізація пакетів
- Вправи
- Рядок – це послідовність
- Отримання довжини рядка з використанням len
- Обхід рядка за допомогою циклу
- Зріз рядка
- Рядки є незмінними
- Оператор in
- Порівняння рядків
- Малі методи
- Розбір (parsing) рядків
- Оператор форматування
- Регулярні вирази
- Вправи
- Вступ
- Відкриття файлів
- Текстовий файл і рядки
- Читання файлів
- Пошук через файл
- Оператор with
- Запис файлів
- Вправи
- Що таке колекція в Python
- Типи колекцій
- Масиви і методи роботи з ними
- Списки і методи роботи з ними
- Кортежі й методи роботи з ними
- Множини й незмінні множини
- Словники, методи роботи зі словниками
- Цикли по колекціям
- Практика
- Функція об’єкт першого класу
- Функції, залежні від функцій
- Замикання
- Каррування
- Лямбда-функції
- Декоратори
- Вправи
- Типи даних
- Вбудовані контейнери
- Оператори контролю виконання
- Обробка помилок (try … except …)
- Оператори циклів
- Comprehensions (list, dict, set)
- Створення функції і процедур
- Аргументи функцій
- Рекурсивні функції
- Functors, Currying
- Декоратори
- Lambda-функції
- PEP8
- Визначення класу
- Поля і методи класу
- Інкапсуляція
- Спадкування
- Поліморфізм
- “Качина” типізація
- Вправи
- Оголошення класу та створення екземпляру
- Принципи ООП (наслідування, інкапсуляція, поліморфізм) в Python
- Область видимості (Namespaces, Scope, правило LEGB)
- Method Resolution Order (MRO)
- Магічні методи
- Визначення математичних операцій для об’єктів Python
- Визначення операцій порівняння для об’єктів Python
- Визначення операцій хешування для об’єктів Python
- Створення копії екземпляру класу, deep copy, shallow copy
- Інкапсуляція (Setters and getters)
- Doc strings
- Meta класи
- Abstract Bases класи
- __new__
- __init__
- Context-managers
- Використанням декораторів з класами
- Контейнери, створені шляхом успадкування (UserList, UserDict, UserString)
- Контейнери, створені шляхом агрегації
- Методи доступу до елементів контейнера
- Iterators, Generators
- Software Engineering як процес
- Мова UML
- Принципи SOLID
- Метрики якості коду
- Design Patterns (категорії, приклади використання)
- Singletone
- Facade
- Interface
- Розробка модулів (визначення та запуск)
- Система імпорту
- Навчання розробці повторно використовуваних пакетів
- Менеджер пакетів pip і віртуальні середовища virtualenv
- Setup.py
- Написання документації до пакета, модулю
- Створення додатків на основі пакетів
- Робота із системою контролю версій Git
- Форматування рядків
- Context-managers
- Робота з файловою системою (os, os.path, shutil)
- Серіалізація за допомогою pickle
- Управління порядком серіалізації / десеріалізації об’єктів Python
- Серіалізація даних у JSON
- Серіалізація даних у XML
- Робота з datetime і calendar
- Робота з collections (черги, іменовані кортежі, вкладені словники)
- Робота з heapq, array, enum
- Робота з числовими даними (numbers, math, decimal, random)
- Робота з contextlib
- Робота з functools
- Logging
- Unittest
- Sockets (основи роботи, приклади серверів)
- Socket server
- Socket Client
- HTTP
- HTML, парсинг HTML-файлів
- XML
- Global Interpreter Loc (GIL)
- Створення потоків у Python
- Контроль доступу до ресурсів
- Синхронізація потоків
- Створення потоків за допомогою пакету concurent
- Пул потоків
- Пакет multiprocessing
- Interprocess communication
- Черги завдань
- Створення процесів за допомогою пакету concurent
- Пул процесів
- Відтермінування завдань за допомогою пакета sched
- Asyncio
- Пакет Twisted
- Асинхронний фреймворк Aiohttp
- Збір даних за допомогою фреймворку Scrapy SQL
- Основи реляційних баз даних
- ER-діаграми
- Стандарт PEP249
- Основи мови SQL (SELECT, LIKE, ORDER BY, LIMIT)
- NSERT
- UPDATE
- DELETE
- JOIN (INNER, LEFT, OUTER)
- GROUP BY
- Функції SQL (mean, min, max, avg, count)
- Subqueries
- Основи роботи з SQLAlchemy
- Механізм сесій в SQLAlchemy
- Створення бази даних за допомогою моделей SQLAlchemy
- Міграції баз даних з використанням Alembic
- CAP теорема
- Типи NoSQL баз даних
- Робота з Redis
- Робота з Memcached
- Робота з MongoDB
- Брокер повідомлень RabbitMQ
- Основи роботи з Celery
- Класифікація web frameworks
- Мова шаблонів Jinja2
- Основи API
- Стандарти API (REST, XML-RPC, Swagger, JSON API)
- Архітектурний підхід API First
- Основи роботи з Flask
- Структура резюме
- FAQ
- Як вести себе на співбесіді
- Основні помилки на співбесіді
- Бонусне заняття з англійської мови
- Урок пошуку роботи
- Навчання в форматі перегляду стріму або запису занять
- Особистий кабінет з доступом до матеріалів курсу
- Допомога ментора курсу
- Актуальну програму навчання

