Python Профессионал

Простой в изучении, мощный и удобный в использовании — все это о Python. На этом языке хорошо пишется практически все, он почти незаменим в современных отраслях IT. Помимо десктопного ПО и сайтов, его используют в программировании контроллеров, смарт технологий и Data Science, где он по праву считается лучшим.

После прохождения курса Python Pro вы научитесь добиваться желаемого результата при помощи чистого и правильного кода, а после — будете готовы к дальнейшему обучению более продвинутых вещей и созданию своих проектов. После окончания курса вы будете понимать, как устроено программирование, сможете создавать грамотную структуру программы и писать правильный рабочий код без ошибок, который будет понятным даже для стороннего разработчика.

Вы создадите небольшие инструментальные программы на Python, а также сможете использовать в работе приемы объектно-ориентированного программирования и разбираться в продвинутых аспектах языка.

 

Длительность курса 84 часа (28 занятий). График занятий: по 2-3 раза в неделю с 19:00 до 22:00.

ПРИОБРЕТАЕМЫЕ ЗНАНИЯ И НАВЫКИ

На данном курсе вы научитесь:

  • Понимать, как устроено программирование
  • Создавать грамотную структуру программы
  • Писать правильный и рабочий код без ошибок, который понятен для стороннего разработчика
  • Создавать небольшие инструментальные программы на Python (например, калькулятор или простой рандомайзер) и более сложные программы
  • Всем необходимым знаниям для старта обучения на курсе "Веб-разработка на Python/Django", после которого вы сможете претендовать на позицию Junior Python Developer.

КУРС ВКЛЮЧАЕТ

  • 28 занятий (84 часа) — от теории к практическим заданиям
  • Контроль знаний — практические работы и тесты
  • Опыт работы в команде
  • Интерактивный личный кабинет с доступом к материалам курса
  • Урок по поиску первой работы в IT и презентации себя перед работодателем
  • 2 занятия по английскому, где вы определите уровень знания языка и получите набор полезной лексики для программиста
  • Сертификат об окончании курса

ПРОГРАММА КУРСА

1. ЗАЧЕМ НУЖНЫ КОМПЬЮТЕРНЫЕ ПРОГРАММЫ?

  • Программирование как творческий процесс
  • Архитектура компьютера
  • В чем суть программирования?
  • Процесс «общения» с Python
  • Интерпретатор и компилятор
  • Процесс написания программ
  • Что же такое программа?
  • Принципы программирования
  • Парадигмы программирования
  • Упражнения

2. ПЕРЕМЕННЫЕ, ВЫРАЖЕНИЯ И ИНСТРУКЦИИ PYTHON

  • Понятие «значение» и «тип»
  • Переменные
  • Имена переменных и ключевые (зарезервированные) слова
  • Операторы
  • Операторы и операнды
  • Выражения
  • Порядок операций
  • Срочные операции
  • Ввод данных
  • Комментарии
  • Упражнения

3. УПРАВЛЕНИЕ ПОТОКОМ ВЫПОЛНЕНИЯ

  • Логические выражения
  • Логические операторы
  • Условное выполнение
  • Последовательность условий
  • Вложенные условия
  • Перехват исключений с использованием try и except
  • Упражнения

4. ИТЕРАЦИИ

  • Обновления переменной
  • Инструкция while
  • Бесконечные циклы
  • «Бесконечные циклы» и break
  • Завершение итерации с помощью continue
  • Списки
  • Определение циклов с помощью for
  • Обход списков с помощью цикла for
  • Упражнения

5. ФУНКЦИИ И МОДУЛИ

  • Вызов функции
  • Встроенные функции
  • Функции приведения типов
  • Случайные числа
  • Математические функции
  • Добавление новых функций
  • Определение и использование
  • Параметры функции
  • Модульные тесты
  • Имена файлов и пути
  • Создание собственных модулей и пакетов
  • Инициализация пакета
  • Обработка аргументов командной строки
  • Определение параметров среды выполнения
  • Создание виртуальных сред
  • Автоматическая инициализация пакетов
  • Упражнения

6. СТРОКИ

  • Строка — это последовательность
  • Получение длины строки с использованием len
  • Обход через строку с помощью цикла
  • Срез строки
  • Строки являются неизменными
  • Оператор in
  • Сравнение строк
  • Строчные методы
  • Разбор (parsing) строк
  • Оператор форматирования
  • Регулярные выражения
  • Упражнения

7. ОСНОВЫ РАБОТЫ С СИСТЕМОЙ КОНТРОЛЯ ВЕРСИЙ

8. ФАЙЛЫ

  • Введение
  • Открытие файлов
  • Текстовый файл и строки
  • Чтение файлов
  • Поиск через файл
  • Оператор with
  • Запись файлов
  • Упражнения

9. КОЛЛЕКЦИИ

  • Списки и кортежи
  • Методы списков
  • Объекты и значения
  • Словари и множества
  • Словарь как набор счетчиков
  • Словари и файлы
  • Циклы и словари
  • Множества
  • Упражнения

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
  • Proxy
  • Abstract Factory
  • Factory Method
  • Command
  • Observer

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

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
  • Работа с MongoDB
  • Брокер сообщений RabbitMQ
  • Основы работы с Celery

25. ВЕБ-РАЗРАБОТКА

  • Классификация web frameworks
  • Язык шаблонов Jinja2
  • Основы API
  • Стандарты API (REST, XML-RPC, Swagger, JSON API)
  • Архитектурный подход API First
  • Основы работы с Flask

26. КАК СОСТАВИТЬ РЕЗЮМЕ И ПРОЙТИ СОБЕСЕДОВАНИЕ

  • Структура резюме
  • Часто задаваемые вопросы
  • Как вести себя на собеседовании
  • Основные ошибки на собеседовании
  • Урок английского языка №1
  • Урок английского языка №2
  • Урок поиска работы

ПРЕДВАРИТЕЛЬНЫЕ ТРЕБОВАНИЯ

  1. Первичная компьютерная грамотность
  2. Наличие собственного ПК для самостоятельных занятий
  3. Программное обеспечение, необходимое для обучения на курсе:
  • Python. Для освоения языка нам понадобится интерпретатор Python.
  • PyCharm или VSCode. Это так называемая интегрированная среда разработки, предназначенная для полного цикла написания и тестирования программ на определенном языке.

ДОКУМЕНТЫ ПО ОКОНЧАНИИ

  • Сертификат Учебного центра Softline
  • Справка об обучении установленного государством образца

Сертификат Softline_образец Cправка

Оставить отзыв

Информация о курсе

с 8 декабря
20:00 - 23:00

2310 BYN (дист)

*с учетом НДС 20%

Вендор: Python, Java, JS, C#, C++
Код курса: Python-Pro
Продолжительность: 28 дней / 84 ак. часа
Направление: Python
Экзамен:
Записаться на курс

Название курса и комментарии*

Имя*

Фамилия*

Отчество*

Компания

Телефон*

Email*

Настоящим, в соответствии с ч.2.ст.18 Закона Республики Беларусь от 10.11.2008 N 455-З(ред. от 11.05.2016) "Об информации, информатизации и защите информации", отправляя данную форму, вы подтверждаете свое согласие на сбор, обработку и хранение ООО «СофтЛайнБел» Ваших персональных данных. ООО «СофтЛайнБел» гарантирует конфиденциальность получаемой от Вас информации. Сбор, обработка и хранение персональных данных осуществляется в целях эффективного оказания услуг, исполнения договоров и пр.