Курс Python Pro в Дніпрі, навчання Python-програмування з працевлаштуванням | ITEA Dnipro

Курс Python Pro

Старт навчання
Старт курсу запитуйте в адміністрації
93 год. по 2-3 рази на тиждень

Після курсу Ви зможете:

  • Розуміти, як влаштоване програмування, і чому в нього немає нічого спільного з чаклунством
  • Створювати грамотну структуру програми
  • Писати правильний і робочий код без помилок, який буде зрозумілим для стороннього розробника
  • Створювати невеликі інструментальні програми на 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
  • Урок пошуку роботи

* Примітка: зазначені знижки не сумуються з іншими діючими акціями та спеціальними пропозиціями. Знижка застосовується тільки до нових заявок та при умові повної оплати курсу. Якщо у Вас виникли питання, звертайтеся за консультацією до наших менеджерів!

spinner-it

Курс на IT — повний вперед! Дізнатись актуальний розклад

На жаль, у звязку з війною ІТЕА завершила свою діяльності в Україні.

This will close in 20 seconds