Python – це найпростіша мова програмування у світі. Але в той же час Python є потужним інструментом, за допомогою якого можна вирішувати величезний спектр різних завдань, починаючи від обробки файлів, і закінчуючи машинним навчанням, обробкою даних, створенням ігор і створенням веб-додатків.
Тим самим, вивчивши Python, ви можете вибирати професію з великого спектру вакансій, або використовувати Python для створення власних додатків і вирішення власних завдань.
Цей курс включає багато практичних завдань, а також завдання самостійного виконання.
Python – це об’єктно-орієнтована мова програмування.
Python – це також мова з величезною кількістю функцій, але для того, щоб ВМІТИ писати код на Python, потрібно РОЗУМІТИ ключові концепції Python. І саме на цьому я і сконцентруюсь разом з вами в цьому курсі.
Перш ніж писати код і запускати приклади, ви отримаєте від мене пояснення та відповіді на запитання НАВІЩО та ЧОМУ, а вже тільки після цього ЯК писати код.
Я не витрачатиму ваш час і тому я створив максимально ефективну структуру курсу. Всі приклади, які я поясню і запускатиму, написані мною до курсу, але ви самостійно писатимете і запускатимете код.
Тривалість всіх відео-лекцій у цьому курсі близько 20 годин, але розраховуйте витратити близько 200 годин для освоєння всіх тем курсу, включаючи самостійне виконання всіх практичних завдань.
Теми, які ми розглянемо у цьому курсі:
Введення в курс Python
Де виконувати та писати код Python
Встановлення Python
Встановлення редактора коду VS Code
Початок роботи у VS Code
Зміна налаштувань редактора VS Code
Знайомство з інтерпретатором Python
Виконання коду у Visual Studio Code
Найважливіше в Python
Основні типи в Python
Практика в інтерактивному інтерпретаторі Python
Вбудовані функції
Функція dir та атрибути об’єктів
Практика – Вбудовані функції print та dir
Практика – Вбудована функція input та методи рядків
Відступи в Python
Форматування коду Python та PEP8
Коментарі до Python
Вирази
Інструкції
Змінні
Оголошення змінних та присвоєння їм значень
Динамічна типізація
Типи та структури даних
Змінні та об’єкти
Вбудована функція id
Практика – Вбудована функція id та об’єкти
Рядки – str
Практика – Рядки
Вбудовані функції та методи рядків
Практика – Методи рядків
Цілі числа – int
Практика – Цілі числа
Числа з десятковою точкою – float
Комплексні числа – complex
Логічний тип – bool
Практика – Логічний тип
Конвертація типів
Практика – Введення в магічні методи
Магічні методи
Списки – List
Методи списків
Різні операції зі списками
Копіювання списків
Практика – Списки
Словники – dict
Зміна та видалення значень у словниках
Використання змінних у словниках
Довжина словника
Неіснуючі ключі та метод get
Резюме за словниками
Практика – словники
Практика – Копіювання словника
Практика – Конвертація інших значень у словник
Завдання – Словники
Кортежі – tuple
Методи кортежів
Практика – Кортежі
Набори – set
Практика – Перевірка невпорядкованості наборів
Об’єкти, що змінюються в наборах
Практика – Набори
Методи наборів
Практика – Методи наборів
Практика – Симетрична різниця у наборах
Діапазони – range
Практика – Діапазони
Порівняння типів послідовностей
Вбудована функція zip
Конвертація zip у dict
Зміна об’єктів у Python
Поведінка змінюваних об’єктів
Як уникнути зміни копій
Практика – Створення поверхових та повних копій
Функції
Найкоротша функція та pass
Передача незмінних об’єктів у функцію
Передача об’єктів, що змінюються в функцію
Як уникнути зміни зовнішніх об’єктів у функції
Аргументи функцій
Об’єднання всіх аргументів у кортеж у функції
Аргументи із ключовими словами
Об’єднання іменованих аргументів у словник
Значення параметрів за замовчуванням
Практика – Значення параметрів за замовчуванням
Колбек функції
Практика – Колбек функції
Правила роботи з функціями
Документація функції docstring
Області видимості
Життєвий цикл змінних
Ключове слово global у функціях
Практика – Глобальні та локальні змінні
Оператори
Оператори та магічні методи
Функція dir
Бінарні та унарні оператори
Оператори in, not in
Пріоритетність операторів
Хибні значення
Логічні оператори
Оператори короткого замикання or та and
Практика – Логічні оператори
Оператор розпакування словника
Об’єднання словників
Інструкція del
З’єднання рядків
Форматування рядків з f-strings
Практика – З’єднання рядків за допомогою +
Практика – f-strings
Лямбда функції
Практика – Лямбда функції
Обробка помилок
Отримання інформації про помилку
Різні типи помилок у різних блоках except
Блоки else та finally в обробці помилок
Відсутність типу помилки та клас Exception
Створення помилок
Розпакування списків та кортежів
Розпакування словника в іменовані аргументи
Розпакування списку у позиційні аргументи
Умовні інструкції
Інструкція if
Інструкція if else
Інструкція if elif
Використання if у функціях
Тернарний оператор
Практика – Тернарний оператор
Цикли
Цикл for in
Практика – цикл for in
Ітерація за ключами зі значеннями у словнику
Цикл for in для наборів
Вбудована функція filter
Цикл while
Використання continue у циклах
Скорочений цикл for in
Приклади зі скороченим циклом for in
Практика – скорочений цикл for in
Генератори у скороченому for in
Практика – генератори
Об’єкти та класи
Практика – Створення екземплярів класу
Магічний метод класів __init__
Практика – Об’єкти із власними атрибутами
Методи та екземпляри класів
Статичні методи класів
Атрибути класу
Магічні методи у класах
Спадкування з інших класів
Практика – Створення підкласів
Модулі
Практика – Модулі
Що таке __main__ та __name__
Вбудовані модулі
Створення пакетів
JSON
Конвертація JSON у словник
Практика – JSON
Робота з файлами
Методи класу Path
Практика – Робота з шляхами до файлів та директорій
Читання та запис файлів
Практика – Запис та читання файлів
Практика – Видалення файлів
Створення zip архіву
Практика – Розпакування zip архіву
Робота з CSV файлами
Практика – Читання з CSV файлів
Модуль datetime
Практика – Форматування дат
Використання класу timedelta
Модуль часу
Модуль random
Модуль secrets для створення паролів
Модуль math
Рекурсивні функції
Модуль для регулярних виразів
Збереження патерну в окремому об’єкті
Перевірка email за допомогою регулярного виразу
Надсилання email за допомогою модуля smtplib
Компонування та відправка email
HTML шаблони для надсилання email
Надсилання вкладень у email
Модуль SQLite3 та створення бази даних
Практика – Запис даних у таблицю SQLite
Практика – Читання даних із таблиці SQLite
Модуль array
Аргументи функції та модуль sys
Модуль webbrowser
Менеджер пакетів PIP
Віртуальні середовища та Pipenv
Створення віртуального середовища
Файли Pipfile та Pipfile.lock
Використання пакетів у віртуальному середовищі
Інсталяція додаткових пакетів у віртуальному середовищі
Дерево пакетів та оновлення пакетів