✦ Интерактивный курс

Учи Python
с нуля

Самый читаемый и дружелюбный язык программирования — от переменных до создания мини-ИИ. Никаких знаний не нужно.

▶ Начать обучение ⌨ Практика
14
тем
50+
примеров
1
проект

Язык, которому доверяет мир

Python — один из трёх самых популярных языков на планете. Он используется в ИИ, науке о данных, веб-разработке и автоматизации.

01
Почему Python?
Простота, мощь, применение
▶

Python создан в 1991 году Гвидо ван Россумом. Его главная философия — код должен читаться как английский текст. Никаких фигурных скобок, никаких точек с запятой — только отступы и логика.

На Python работают: ChatGPT и большинство нейросетей, Instagram, YouTube, NASA, Google. Это язык №1 для машинного обучения и анализа данных.

💡
Python — интерпретируемый язык. Код выполняется строка за строкой без предварительной компиляции. Это упрощает отладку и ускоряет разработку.
ИИ / ML
TensorFlow, PyTorch, scikit-learn
Веб
Django, Flask, FastAPI
Автоматизация
Скрипты, боты, парсеры
Наука
NumPy, pandas, matplotlib
02
Первая программа
print и переменные
▶

В Python не нужны точки с запятой, не нужны фигурные скобки, не нужно объявлять типы. Просто пишешь код — и он работает. Функция print() выводит текст.

hello.py
# Это комментарий print("Hello, World!") # Переменные — просто имя = значение name = "Макс" age = 21 print("Привет,", name) print(f"Тебе {age} лет")
Вывод
Hello, World! Привет, Макс Тебе 21 лет
✓
f-строки (f"текст {переменная}") — самый удобный способ подставлять переменные в текст. Просто оберни переменную в {} внутри строки с префиксом f.

Базовые типы данных

Python автоматически определяет тип переменной. Самые важные типы — числа, строки и булевы значения.

03
Числа и арифметика
int, float, операторы
▶

В Python два основных числовых типа: int (целые) и float (дробные). Тип определяется автоматически по значению. Функция type() показывает тип переменной.

числа
a = 10 # int b = 3.14 # float print(a + 5) # 15 print(a - 3) # 7 print(a * 2) # 20 print(a / 3) # 3.333... (всегда float) print(a print(a % 3) # 1 (остаток) print(2 ** 8) # 256 (степень)
Вывод
15 7 20 3.3333... 3 1 256
04
Строки
str, методы, f-строки, срезы
▶

Строки в Python — мощный инструмент. У них есть десятки встроенных методов: .lower(), .upper(), .replace(), .split(), .strip(). Доступ к символам — через индекс.

строки
s = "Привет, Мир!" print(s.lower()) # привет, мир! print(s.upper()) # ПРИВЕТ, МИР! print(len(s)) # 12 print(s.replace("Мир", "Python")) # Проверка подстроки print("Мир" in s) # True # Срезы строки [start:end] print(s[0:7]) # Привет # Преобразование типов num = int("42") text = str(100)
Вывод
привет, мир! ПРИВЕТ, МИР! 12 Привет, Python! True Привет
💡
Оператор in проверяет, содержится ли подстрока в строке. Это очень важно для практики — именно так мини-ИИ будет определять смысл вопроса!

Коллекции данных

Список (list) — основная структура данных Python. Это как массив, но гораздо мощнее.

05
Списки (list)
Создание, доступ, методы
▶

Список создаётся в квадратных скобках. Элементы могут быть любого типа — числа, строки, другие списки. Индексация начинается с 0. Отрицательные индексы считают с конца.

списки
fruits = ["яблоко", "банан", "груша"] print(fruits[0]) # яблоко print(fruits[-1]) # груша print(len(fruits)) # 3 # Добавить элемент fruits.append("манго") # Удалить элемент fruits.remove("банан") # Срез списка print(fruits[0:2]) # ['яблоко', 'груша'] # Проверка вхождения print("манго" in fruits) # True
Вывод
яблоко груша 3 ['яблоко', 'груша'] True
.append(x)
Добавить x в конец
.remove(x)
Удалить первый x
.sort()
Отсортировать список
.pop()
Убрать и вернуть последний
len(list)
Длина списка
x in list
Проверка вхождения
06
Словари (dict)
Ключ — значение
▶

Словарь хранит пары "ключ: значение". Ключи уникальны. Это идеальная структура для хранения ответов мини-ИИ — ключевые слова и соответствующие ответы.

словари
user = { "name": "Макс", "age": 21, "city": "Москва" } print(user["name"]) # Макс print(user.get("age")) # 21 # Добавить/изменить user["score"] = 100 # Перебрать все ключи for key in user: print(key, "→", user[key])
Вывод
Макс 21 name → Макс age → 21 city → Москва

if / elif / else

Условия в Python лаконичны и читаемы. Вместо фигурных скобок — двоеточие и отступы.

07
if / elif / else
Ветвление и операторы сравнения
▶

Блок кода в Python определяется отступами (обычно 4 пробела). После if, elif, else ставится двоеточие :. Всё тело условия — с отступом.

условия
score = 75 if score >= 90: print("Отлично!") elif score >= 70: print("Хорошо") elif score >= 50: print("Удовлетворительно") else: print("Не сдано") # Проверка подстроки в строке msg = "привет как дела" if "привет" in msg: print("Вижу приветствие!")
Вывод
Хорошо Вижу приветствие!
== !=
Равно / не равно
> < >= <=
Сравнение чисел
and or not
Логические операторы
in not in
Вхождение в строку/список

Повторение и перебор

Python делает циклы простыми и читаемыми. for и while — два основных инструмента.

08
Цикл for
Перебор списков, range, строк
▶

Цикл for в Python перебирает элементы любого итерируемого объекта: списка, строки, словаря. range(n) генерирует числа от 0 до n-1.

for loop
# Перебор списка fruits = ["яблоко", "банан", "груша"] for fruit in fruits: print(fruit) # range(start, stop, step) for i in range(1, 6): print(i, i**2) # Перебор строки for char in "python": print(char, end="-")
Вывод
яблоко банан груша 1 1 2 4 3 9 p-y-t-h-o-n-
09
Цикл while и break/continue
Условные циклы, управление потоком
▶

while выполняется пока условие истинно. break — выйти из цикла досрочно. continue — пропустить текущую итерацию. Паттерн while True: ... break — бесконечный цикл с ручным выходом.

while + break
# Цикл диалога (главный паттерн практики!) while True: user = input("Ты: ") if user == "выход": print("Пока!") break if "привет" in user.lower(): print("Бот: Привет!") else: print("Бот: Не понял...")
Сессия
Ты:
привет
Бот: Привет!
Ты:
выход
Пока!
💡
Паттерн while True с break — это основа любого диалогового бота или REPL-интерфейса. Именно его мы используем в практике для мини-ИИ!

Блоки переиспользуемого кода

Функции — сердце любой программы. Они позволяют разбить сложную задачу на маленькие, понятные части.

10
Что такое функция?
def, параметры, return
▶

Функция — именованный блок кода, который можно вызывать много раз. Ключевое слово def. После имени — скобки с параметрами. Тело с отступом. return возвращает результат.

def функция
# Простая функция def greet(name): print(f"Привет, {name}!") greet("Макс") # Привет, Макс! greet("Мир") # Привет, Мир! # Функция с return def add(a, b): return a + b result = add(3, 7) print(result) # 10
Вывод
Привет, Макс! Привет, Мир! 10
11
Функции в деле
Дефолтные параметры, несколько возвратов
▶

Параметры могут иметь значения по умолчанию — тогда их необязательно передавать. Функция может возвращать несколько значений через запятую (на самом деле — кортеж).

продвинутые функции
# Дефолтный параметр def power(base, exp=2): return base ** exp print(power(4)) # 16 (exp=2) print(power(2, 10)) # 1024 # Функция-ответчик для мини-ИИ def ai_response(text): text = text.lower() if "привет" in text: return "Привет! Чем помочь?" elif "время" in text: return "Сейчас 12:00" else: return "Не понял вопроса"
Вывод
16 1024 ai_response("привет") Привет! Чем помочь?
✓
В практике тебе нужно написать функцию ai_response(text), которая анализирует текст запроса и возвращает ответ. Это именно то, что делают настоящие чат-боты!

Готовые инструменты

Библиотеки — суперсила Python. Тысячи готовых функций, которые можно использовать сразу.

12
import и стандартные библиотеки
math, random, datetime, re
▶

Стандартные библиотеки Python встроены в язык — их не нужно устанавливать, только импортировать. import имя подключает модуль. from модуль import функция — импортирует конкретную функцию.

import
import math import random from datetime import datetime # math — математика print(math.sqrt(16)) # 4.0 print(math.floor(3.9)) # 3 print(math.pi) # 3.14159... # random — случайность print(random.randint(1, 100)) # случайное 1-100 # datetime — дата и время now = datetime.now() print(now.strftime("%H:%M")) # 14:35
math
sqrt, floor, ceil, pi, sin, cos
random
randint, choice, shuffle
datetime
Дата, время, форматирование
re
Регулярные выражения
os
Файлы, папки, система
json
Работа с JSON-данными
13
Встроенные функции
print, input, len, range, int, str...
▶

Python поставляется с десятками встроенных функций — они всегда доступны без импорта. Вот самые важные для практики:

встроенные функции
# Ввод от пользователя name = input("Введи имя: ") # Преобразование типов num = int("42") flt = float("3.14") txt = str(100) # Числа и списки nums = [3, 1, 4, 1, 5] print(sum(nums)) # 14 print(max(nums)) # 5 print(min(nums)) # 1 print(sorted(nums)) # [1,1,3,4,5] print(abs(-7)) # 7 print(round(3.7)) # 4
14
Обработка ошибок
try / except — защита кода
▶

Когда программа может упасть (деление на ноль, неверный ввод), используй try/except. Это "скорая помощь" — если в блоке try происходит ошибка, выполняется except.

try / except
def safe_divide(a, b): try: return a / b except ZeroDivisionError: return "Деление на ноль!" # Безопасный ввод числа def get_number(text): try: return float(text) except ValueError: return None
Вывод
safe_divide(10,2) → 5.0 safe_divide(5,0) → Деление на ноль! get_number("42") → 42.0 get_number("abc") → None

Создай мини-ИИ с калькулятором

Напиши диалогового бота, который отвечает на запросы с ключевыми словами и умеет считать. Симулятор выполняет Python прямо в браузере!

💬
Функция ai_response()
🔑
Ключевые слова (in)
🧮
Калькулятор (+,-,*,/)
🔄
Цикл while True
🛡️
Обработка ошибок
Редактор кода
Консоль
Нажми ▶ Запустить, чтобы выполнить код
Прогресс задания 0 / 5
✓
Есть функция, определённая через def
✓
Используется оператор in для поиска ключевых слов в тексте
✓
Есть обработка арифметического выражения (калькулятор)
✓
Есть цикл while для диалога
✓
Есть обработка ошибок (try/except)
🐍
Python освоен!

Феноменально! Ты создал настоящего диалогового бота на Python — с пониманием ключевых слов и встроенным калькулятором. Именно так работают базовые чат-боты!

Следующие шаги: классы и ООП, requests для API, pandas для данных, Flask для веб-сервера. Python — это огромный мир!

🏅
Python Developer
Мини-ИИ создан · PYTHON-TRAIN

5 практических заданий

Нарастающая сложность. Напиши код → ▶ Запустить → ✓ Проверить.

Выполнено0 / 5
1
Легко
Конвертер температур
Цельсии → Фаренгейты (F=C×9/5+32) и Кельвины (K=C+273.15).
Пример
Ввод 1
0
Вывод 1
32 273.15
Ввод 2
100
Вывод 2
212 373.15
Python
Вывод
Нажми ▶ Запустить...
2
Легко
FizzBuzz
1–100: кратные 3→«Fizz», 5→«Buzz», оба→«FizzBuzz».
Пример
Ввод 1
-
Вывод 1
1 2 Fizz 4 Buzz ... 14 FizzBuzz
Python
Вывод
Нажми ▶ Запустить...
3
Средне
Словарь-переводчик
10 слов рус→англ. input() → перевод или «Не найдено». Цикл до «выход».
Пример
Ввод 1
cat
Вывод 1
cat -> cat
Ввод 2
unknown
Вывод 2
Not found
Python
Вывод
Нажми ▶ Запустить...
4
Средне
Генератор паролей
Пользователь задаёт длину → пароль из букв+цифр+символов (random+string).
Пример
Ввод 1
8
Вывод 1
A7$kP2q!
Ввод 2
12
Вывод 2
m9#Qa1Lp0!xZ
Python
Вывод
Нажми ▶ Запустить...
5
Сложно
Текстовая RPG
Герой и враг с HP. «1=атака»/«2=бег» в цикле. Урон=random. Победа/поражение.
Пример
Ввод 1
1
Вывод 1
Hero attacks...
Ввод 2
2
Вывод 2
You ran away / game over
Python
Вывод
Нажми ▶ Запустить...