Урок 01
О себе
Team Lead, AI / ML. 4-5 лет в индустрии. Начал работать ещё на бакалавриате.
Прошёл тот же путь
Про уровень
Если уже есть опыт - оставайтесь. У всех, кто учился сам, есть пробелы.
Будут дополнительные материалы. Хотите разобрать что-то отдельно - после урока или в Telegram.
План курса
Формат
VS Code и Jupyter Notebook. Большую часть времени - в редакторе.
Каждую неделю - обязательная. После каждого урока - дополнительная, по желанию.
Вопросы: в личных сообщениях или в групповом чате.
Правила
Платформа
Все материалы, домашнее задание и слайды.
TBA
Общие вопросы и обсуждения.
TBA
Для индивидуальных вопросов.
@gokalqurt
Вопрос
Подумайте минуту →
Что такое Python
Назван в честь Monty Python's Flying Circus.
Не змеи.
| Низкий / Высокий уровень | C / Python |
| Компилируемый / Интерпретируемый | C++ / Python |
| Статическая / Динамическая типизация | Java / Python |
Python - высокоуровневый, интерпретируемый, динамически типизированный.
Почему Python
Библиотеки
Где используется
Один поток выполняет код одновременно. Для ML не проблема - вычисления уходят в C-библиотеки. Подробнее позже.
Установка
python.org
Windows: галочка
«Add Python to PATH»
python --version
code.visualstudio.com
Удобный редактор для Python и других языков.
Установите через панель Extensions:
Порядок: сначала Python, потом VS Code.
Терминал
Терминал в VS Code: Ctrl + ~
Шпаргалка
| pwd | текущая директория |
| ls / dir | содержимое папки |
| cd <папка> | перейти в папку |
| cd .. | на уровень выше |
| mkdir <имя> | создать папку |
Первая программа
Ошибка - это traceback. Читать снизу вверх. Последняя строка говорит, что сломалось. Строка выше - где именно.
Первая тема
Тема 01
Тема 02
Коробка с именем. Кладёте значение, обращаетесь по имени.
= это присваивание, не равенство. Слева имя, справа значение.
Вопрос
user_name2nameprice2user-ageclassПодумайте минуту →
Тема 03
snake_case. Имя должно отражать содержимое.
Вопрос
Подумайте минуту →
Тема 04
| Тип | Что | Пример |
|---|---|---|
| int | целое число | 25, -3 |
| float | дробное | 3.14 |
| str | строка | "Привет" |
| bool | логика | True, False |
Тип определяется автоматически. Это и есть динамическая типизация.
Вопрос
Подумайте минуту →
Тема 05
Строку с числом сложить нельзя. Нужно явное преобразование через str().
Вопрос с ловушкой
30"255"TypeError25 5Подумайте минуту →
Тема 06
Всегда возвращает строку. Даже если ввели число.
Распространённая ошибка
Если нужна арифметика - оборачивайте в int() или float(). Запомните сейчас.
Тема 07
Самый удобный способ вставить переменные в текст.
Тема 08
Комментарии для людей, не для Python. Объясняйте почему, а не что делает строка.
Практика
Пишем самостоятельно. Если задача не решается за две минуты - поднимите руку. Кто справился раньше, помогите соседу.
Решение
Следующая тема
Программа принимает решения на основе входных данных
Тема 09
Операторы сравнения возвращают True или False
Не путайте == (сравнение) и = (присваивание).
Тема 10
and · or · not
and требует оба условия истинными. or требует хотя бы одно. not инвертирует значение.
Вопрос
TrueFalseTypeError"10"Подумайте минуту →
Тема 11
Двоеточие в конце строки. Отступ четыре пробела.
Отступ это часть синтаксиса языка, а не оформление. Без отступа Python выдаст IndentationError.
Тема 12
Две взаимоисключающие ветви исполнения
Тема 13
Несколько последовательных условий
elif это сокращение от else if. Количество ветвей не ограничено.
Практика 2
Подсказка: оператор % возвращает остаток от деления.
Решение
Итоги
Циклы - while, for и списки
Практические задания
10 задач по темам урока. Откройте в Jupyter или VS Code и выполните самостоятельно.
Telegram: @gokalqurt