Python logo

Урок 01

Введение в Python

Photo

О себе

Обо мне

Team Lead, AI / ML. 4-5 лет в индустрии. Начал работать ещё на бакалавриате.

Junior Team Lead

Прошёл тот же путь

  • Использовал термины, не понимая их до конца
  • Прыгал на популярные темы, не закрыв основы
  • Копировал код, не разбираясь как он работает

Speech Analytics

Про уровень

Уровень подготовки

с нуля
фундамент
у всех
с опытом

Если уже есть опыт - оставайтесь. У всех, кто учился сам, есть пробелы.
Будут дополнительные материалы. Хотите разобрать что-то отдельно - после урока или в Telegram.

План курса

Силлабус

Формат

Формат занятий

30% теория
70% практика

Где пишем код

VS Code и Jupyter Notebook. Большую часть времени - в редакторе.

Домашнее задание

Каждую неделю - обязательная. После каждого урока - дополнительная, по желанию.

Вопросы: в личных сообщениях или в групповом чате.

Правила

Правила курса

  • Не мешайте друг другу
  • Помогайте друг другу
  • ChatGPT и Claude - как помощник, не замена
ChatGPT meme

Платформа

Платформа и контакты

Платформа курса

Все материалы, домашнее задание и слайды.
TBA

tg

Telegram-чат

Общие вопросы и обсуждения.
TBA

@

Личные сообщения

Для индивидуальных вопросов.
@gokalqurt

Вопрос

В честь чего
назван Python?

AВ честь змеи
BMonty Python's Flying Circus
CВ честь автора - Гвидо ван Россума
DАббревиатура от Process Your Thoughts

Подумайте минуту →

Что такое Python

История языка

Monty Python's Flying Circus

Назван в честь Monty Python's Flying Circus.
Не змеи.

Низкий / Высокий уровень C / Python
Компилируемый / Интерпретируемый C++ / Python
Статическая / Динамическая типизация Java / Python

Python - высокоуровневый, интерпретируемый, динамически типизированный.

Почему Python

Python в AI, ML и Data Science

Библиотеки

NumPy Pandas scikit-learn PyTorch TensorFlow

Где используется

Google Meta Netflix OpenAI Anthropic
  • Простой синтаксис, доступен не только программистам
  • Крупнейшее сообщество среди языков для данных
  • Интеграция с C / C++ для ускорения вычислений
🔒 GIL

Один поток выполняет код одновременно. Для ML не проблема - вычисления уходят в C-библиотеки. Подробнее позже.

Установка

Установка окружения

1

Python

python.org

Windows: галочка
«Add Python to PATH»

python --version

2

VS Code

code.visualstudio.com

Удобный редактор для Python и других языков.

3

Расширения

Установите через панель Extensions:

  • Python (Microsoft)
  • Pylance автодополнение
  • Jupyter .ipynb ноутбуки
  • Black Formatter форматирование
  • GitLens история git
  • Docker контейнеры

Порядок: сначала Python, потом VS Code.

Терминал

Рабочая папка курса

Терминал в VS Code: Ctrl + ~

$ pwd /Users/you $ cd Desktop $ mkdir python-course $ cd python-course $ code . opening VS Code...

Шпаргалка

pwdтекущая директория
ls / dirсодержимое папки
cd <папка>перейти в папку
cd ..на уровень выше
mkdir <имя>создать папку

Первая программа

hello.py

# hello.py print("Hello, world!")
$ python hello.py Hello, world!
Если возникла ошибка

Ошибка - это traceback. Читать снизу вверх. Последняя строка говорит, что сломалось. Строка выше - где именно.

Первая тема

Переменные
и типы данных

print()
переменные
int · float
str · bool
input()
f-строки

Тема 01

print()

print("Привет!") print("Имя:", "Миркомиль") print("2 + 2 =", 2 + 2) print()
Привет! Имя: Миркомиль 2 + 2 = 4
  • В кавычках - текст, выводится как есть
  • Без кавычек - Python вычисляет, выводит результат
  • Запятая - пробел между аргументами

Тема 02

Переменные

Коробка с именем. Кладёте значение, обращаетесь по имени.

"Миркомиль"
name
25
age
19.99
price
name = "Миркомиль" age = 25 price = 19.99 print(name) print("Мне", age, "лет")

= это присваивание, не равенство. Слева имя, справа значение.

Вопрос

Какие имена переменных
можно использовать?

Auser_name
B2name
Cprice2
Duser-age
Eclass

Подумайте минуту →

Тема 03

Имена переменных

Можно
user_name
price2
Нельзя
2name начинается с цифры
user-age дефис - оператор вычитания
class зарезервированное слово
Соглашение

snake_case. Имя должно отражать содержимое.

Вопрос

Какой тип у этих значений?

type(25) type(25.0) type("25") type(True)

Подумайте минуту →

Тема 04

Типы данных

Тип Что Пример
int целое число 25, -3
float дробное 3.14
str строка "Привет"
bool логика True, False
print(type(25)) # <class 'int'>

Тип определяется автоматически. Это и есть динамическая типизация.

Вопрос

Что выведет каждая строка?

10 / 3 # ? 10 // 3 # ? 10 % 3 # ? 2 ** 3 # ?

Подумайте минуту →

Тема 05

Операции

10 / 3 # 3.333... деление 10 // 3 # 3 целочисленное 10 % 3 # 1 остаток 2 ** 3 # 8 степень
"Hi" + " " + "you" # "Hi you" "ha" * 3 # "hahaha" "Возраст: " + 25 # ошибка "Возраст: " + str(25) # корректно

Строку с числом сложить нельзя. Нужно явное преобразование через str().

Вопрос с ловушкой

Что выведет этот код?

age = input("Возраст: ") # пользователь ввёл: 25 print(age + 5)
A30
B"255"
CTypeError
D25 5

Подумайте минуту →

Тема 06

input()

Всегда возвращает строку. Даже если ввели число.

name = input("Как вас зовут? ") print("Привет,", name)
> Как вас зовут? Миркомиль Привет, Миркомиль
age = input("Возраст: ") print(age + 5) # ошибка age = int(input("Возраст: ")) print(age + 5) # корректно

Распространённая ошибка

Если нужна арифметика - оборачивайте в int() или float(). Запомните сейчас.

Тема 07

f-строки

Самый удобный способ вставить переменные в текст.

name = "Миркомиль" age = 25 print(f"Меня зовут {name}, мне {age} лет") print(f"Через год будет {age + 1}")
f перед кавычками
переменная или выражение в { }

Тема 08

Комментарии

# Python игнорирует эту строку name = "Миркомиль" # комментарий в конце строки # Зачем: # - объяснить неочевидное решение # - оставить заметку # - временно отключить строку
Хорошее правило

Комментарии для людей, не для Python. Объясняйте почему, а не что делает строка.

Практика

Практическая задача

15:00
  1. 1 Спросить имя
  2. 2 Спросить год рождения
  3. 3 Спросить любимое число
  4. 4 Вывести: Привет, [имя]! Вам [возраст] лет, ваше число × 2 = [результат]

Пишем самостоятельно. Если задача не решается за две минуты - поднимите руку. Кто справился раньше, помогите соседу.

Решение

Разбор решения

name = input("Как вас зовут? ") year = int(input("Год рождения: ")) fav = int(input("Любимое число: ")) age = 2026 - year doubled = fav * 2 print(f"Привет, {name}! Вам {age} лет, " f"ваше число × 2 = {doubled}")
ввод int() арифметика f-строка

Следующая тема

Условия и
управление потоком

Программа принимает решения на основе входных данных

Сравнения
and · or · not
if / elif / else
Отступы

Тема 09

Сравнение значений

Операторы сравнения возвращают True или False

5 == 5 # True 5 != 3 # True 5 < 3 # False 5 > 3 # True 5 >= 5 # True "a" == "a" # True
Внимание

Не путайте == (сравнение) и = (присваивание).

Тема 10

Логические операторы

and · or · not

age = 25 age >= 18 and age < 65 # True age < 18 or age > 65 # False not (age >= 18) # False
Семантика

and требует оба условия истинными. or требует хотя бы одно. not инвертирует значение.

Вопрос

Что выведет код?

x = 10 print(x == "10")
ATrue
BFalse
CTypeError
D"10"

Подумайте минуту →

Тема 11

Условный оператор if

Двоеточие в конце строки. Отступ четыре пробела.

age = 20 if age >= 18: print("Совершеннолетний") print("Имеет право голосовать")
Важно

Отступ это часть синтаксиса языка, а не оформление. Без отступа Python выдаст IndentationError.

Тема 12

if / else

Две взаимоисключающие ветви исполнения

age = 15 if age >= 18: print("Совершеннолетний") else: print("Несовершеннолетний")
age >= 18 ?
TRUE
«Совершеннолетний»
FALSE
«Несовершеннолетний»

Тема 13

if / elif / else

Несколько последовательных условий

score = 85 if score >= 90: grade = "A" elif score >= 80: grade = "B" elif score >= 70: grade = "C" else: grade = "F" print(grade)
Замечание

elif это сокращение от else if. Количество ветвей не ограничено.

Практика 2

Определение чётности

15:00
  1. 1 Запросить у пользователя целое число
  2. 2 Если значение равно нулю - вывести «Ноль»
  3. 3 Если число делится на 2 без остатка - вывести «Чётное»
  4. 4 В противном случае - вывести «Нечётное»

Подсказка: оператор % возвращает остаток от деления.

Решение

Разбор решения 2

n = int(input("Введите целое число: ")) if n == 0: print("Ноль") elif n % 2 == 0: print(f"{n} - чётное") else: print(f"{n} - нечётное")
ввод проверка нуля проверка остатка вывод

Итоги

Итоги урока

  • Python и VS Code установлены
  • Терминал и базовые команды
  • Первый .py файл, запуск программы
  • print() и input()
  • int, float, str, bool
  • Арифметика, f-строки, комментарии
  • Чтение traceback
  • Сравнение значений
  • Логические операторы
  • if / elif / else
Следующий урок

Циклы - while, for и списки

Практические задания

Jupyter Notebook

10 задач по темам урока. Откройте в Jupyter или VS Code и выполните самостоятельно.

.ipynb
lesson1_tasks.ipynb
10 практических заданий
Скачать RU Yuklab olish UZ

Вопросы?

Telegram: @gokalqurt

Python · Урок 1
RU UZ
1 / 41