Хотите научиться программировать, но не знаете, с чего начать? Для многих самый удобный первый язык — Python. В этом руководстве объясним, что такое Python и почему он подходит новичкам, установим его на компьютер (или попробуем прямо в браузере без установки), напишем первую программу и разберём на примерах основные понятия: переменные и типы данных, ввод данных от пользователя, арифметику, условия, циклы, списки и функции. Затем научимся читать сообщения об ошибках, шаг за шагом соберём простую программу-викторину, а в конце дадим практические задания и чек-лист. Опыт не требуется — достаточно уверенно пользоваться компьютером.
Что такое Python и почему он удобен новичкам
Python — язык программирования общего назначения. На нём пишут серверную часть сайтов, анализируют данные, автоматизируют рабочие процессы, создают программы для искусственного интеллекта и обучения. Python бесплатный, работает во всех основных операционных системах и имеет большое сообщество по всему миру.
Почему начинать удобно именно с Python:
- Простой для чтения синтаксис. Код на Python похож на обычные английские фразы. Нет лишних скобок и точек с запятой.
- Быстрый результат. Пишете одну строку и сразу видите результат. Это помогает не терять мотивацию.
- Широкое применение. Освоив основы, можно перейти к анализу данных, веб-разработке или автоматизации — язык останется тем же.
- Много учебных материалов. Ответ на любой вопрос легко найти, а сообщения об ошибках написаны понятно.
Если вы ещё размышляете, что такое программирование вообще и какое направление выбрать, сначала прочитайте нашу статью о том, как начать программировать.
Установка и первая программа
Установка в Windows
- Откройте в браузере сайт python.org и в разделе Downloads скачайте последнюю стабильную версию для Windows.
- Запустите установщик. Внизу первого окна есть флажок Add python.exe to PATH — обязательно отметьте его. Без этого флажка командная строка «не узнает» Python.
- Нажмите Install Now и дождитесь окончания установки.
- Откройте через меню Пуск Command Prompt (или Terminal) и введите:
python --version
Если в ответ появился номер версии, всё в порядке. Для новых версий Python сайт python.org может предлагать и новый установщик для Windows под названием «Python install manager» — можно следовать его инструкциям. Главное, чтобы в итоге команда выше работала.
macOS и Linux
- macOS. Скачайте установщик для macOS с python.org и установите как обычную программу. В Terminal команда пишется как
python3:python3 --version. - Linux. В большинстве дистрибутивов Python уже установлен. Проверьте в терминале
python3 --version. Если его нет, в Ubuntu и похожих системах он ставится командойsudo apt install python3.
Попробовать в браузере без установки
Если компьютер рабочий или устанавливать программы нельзя, воспользуйтесь онлайн-средами. Например, Google Colab — бесплатный сервис, в который входят с аккаунтом Google: открываете новый блокнот (notebook), пишете код в ячейке и запускаете его сочетанием Shift + Enter. Есть и другие онлайн-интерпретаторы Python. Их вполне хватит на первые недели, но для серьёзного обучения лучше установить Python на свой компьютер.
Первая программа
Вместе с Python устанавливается простой редактор IDLE. Откройте его, выберите File → New File и напишите:
print("Привет, мир")
print("Меня зовут Дилноза")
Сохраните файл под именем salom.py и нажмите Run → Run Module (F5). На экране появятся две строки. print() — функция, которая выводит на экран то, что указано в скобках. Текст пишется в кавычках. Позже можно перейти на более удобный редактор, например Visual Studio Code, но для начала IDLE достаточно.
Переменные, типы данных и input
Переменные
Переменная — это имя, присвоенное значению. Представьте коробку с наклейкой, в которую что-то положили:
name = "Джасур"
age = 19
height = 1.78
is_student = True
print(name)
print(age)
Знак = здесь означает не «равно», как в математике, а «свяжи значение справа с именем слева».
Четыре основных типа
- str (строка) — текст:
"Джасур","Ташкент". Всегда в кавычках. - int (целое число) —
19,-5,2026. - float (дробное число) —
1.78,0.5. Дробная часть отделяется точкой, а не запятой. - bool (логическое значение) — только
TrueилиFalse, с заглавной буквы.
Узнать тип значения можно функцией type(): print(type(age)) выведет <class 'int'>.
Получение данных от пользователя
Функция input() возвращает текст, который пользователь ввёл с клавиатуры. Важный момент: она всегда возвращает строку (str), даже если пользователь ввёл число. Чтобы считать, строку нужно превратить в число с помощью int() или float():
name = input("Как вас зовут? ")
birth_year = int(input("Год рождения: "))
age = 2026 - birth_year
print("Привет,", name)
print("В этом году вам исполнится", age)
Если передать в print() несколько значений через запятую, между ними автоматически ставится пробел. Ещё один удобный способ вставить значение в текст — f-строка: print(f"Привет, {name}"). Вместо имени в фигурных скобках подставится его значение.
Арифметика и условия
Арифметические операции
a = 17
b = 5
print(a + b) # 22 - сложение
print(a - b) # 12 - вычитание
print(a * b) # 85 - умножение
print(a / b) # 3.4 - деление, результат всегда float
print(a // b) # 3 - целая часть
print(a % b) # 2 - остаток
print(a ** 2) # 289 - возведение в степень
Обратите внимание: 10 / 2 даёт не 5, а 5.0 — обычное деление всегда возвращает дробное число. Порядок действий как в математике: сначала умножение и деление, потом сложение и вычитание. Если сомневаетесь, ставьте скобки.
Условия: if, elif, else
Чтобы программа вела себя по-разному в зависимости от ситуации, нужны условия. Например, выставим оценку по результату теста (баллы условные):
score = int(input("Балл за тест (0-100): "))
if score >= 86:
print("Отлично")
elif score >= 71:
print("Хорошо")
elif score >= 56:
print("Удовлетворительно")
else:
print("Нужно ещё подготовиться")
Python проверяет условия сверху вниз и выполняет первое истинное. Обратите внимание: в конце каждого условия стоит двоеточие :, а строки внутри сдвинуты на 4 пробела. В Python этот отступ не украшение, а правило, которое показывает, к какому блоку относится строка.
Знаки сравнения: == (равно), != (не равно), >, <, >=, <=. Один = присваивает значение, два == сравнивают — здесь новички ошибаются чаще всего. Условия можно объединять через and, or, not: if age >= 18 and has_passport:.
Циклы и списки
for и range
Цикл повторяет одно и то же действие много раз. range(1, 6) даёт числа от 1 до 5 (6 не входит):
for day in range(1, 6):
print(f"День {day}: 30 минут практики")
А range(5) даёт числа от 0 до 4. Если начальное число не указано, счёт начинается с нуля — в программировании это обычное дело.
while
Цикл while повторяется, пока условие истинно. Он удобен, когда число повторений заранее неизвестно:
password = ""
while password != "yabloko123":
password = input("Введите пароль: ")
print("Добро пожаловать")
Будьте внимательны: если условие никогда не станет ложным, цикл будет бесконечным. Чтобы остановить такую программу, нажмите Ctrl + C.
Списки (list)
Список хранит несколько значений по порядку. Элементы пишутся в квадратных скобках через запятую и нумеруются с нуля:
fruits = ["яблоко", "гранат", "виноград"]
print(fruits[0]) # яблоко
print(fruits[-1]) # виноград - последний элемент
print(len(fruits)) # 3 - количество элементов
fruits.append("айва") # добавить в конец
fruits.remove("гранат") # удалить по значению
fruits[0] = "груша" # заменить элемент
print("виноград" in fruits) # True - проверить наличие
for fruit in fruits:
print(fruit)
Полезные функции для списков чисел: sum() — сумма элементов, min() и max() — наименьшее и наибольшее значение, sorted() — отсортированная копия. Например, для шагов за неделю (числа условные) steps = [5200, 8100, 4300] выражение print(sum(steps) / len(steps)) выведет среднее.
Функции и аккуратный код
def и return
Функция — именованный фрагмент кода, который можно использовать повторно. Она создаётся словом def, а return возвращает результат:
def average(numbers):
"""Возвращает среднее значение чисел из списка."""
return sum(numbers) / len(numbers)
def greet(name):
print(f"Привет, {name}. Добро пожаловать на урок")
grades = [5, 4, 5, 3]
print(average(grades)) # 4.25
greet("Сардор")
print() только выводит результат на экран, а return возвращает его в другую часть программы — его можно сохранить в переменную или использовать в вычислениях. Если вы пишете один и тот же код в двух-трёх местах, пора превратить его в функцию.
Правила чистого кода
- Понятные имена. Не
xиa1, аtotal_score,birth_year. Имена пишутся латиницей, строчными буквами, слова разделяются нижним подчёркиванием. Английские имена — общепринятая практика, но и узбекские латиницей работают — главное, единообразие. - Комментарии. Текст после знака
#Python не читает. В комментарии объясняйте не «что» делает код, а «почему» он написан именно так. - 4 пробела. Каждый вложенный блок сдвигается на 4 пробела. Не смешивайте табуляцию и пробелы — многие редакторы по нажатию Tab сами ставят 4 пробела.
- Пустые строки. Одна — между логическими частями, две — между функциями.
Как читать ошибки и частые ошибки
Сообщение об ошибке — не наказание, а подсказка Python о том, где проблема. Читайте его снизу вверх: в последней строке тип и причина ошибки, выше — имя файла и номер строки. Подробнее о работе с ошибками — в разделе словаря ошибки и отладка.
SyntaxError — нарушены правила записи
if score > 50
print("Сдал")
Python сообщит SyntaxError: expected ':' — в конце условия нет двоеточия. Исправление: if score > 50:. Незакрытая кавычка или скобка тоже вызывает эту ошибку.
NameError — имя не найдено
pirnt("Привет")
Результат: NameError: name 'pirnt' is not defined. Новые версии даже подсказывают Did you mean: 'print'?. Причина — опечатка в имени или использование переменной до того, как она создана. Python различает регистр: Name и name — два разных имени.
IndentationError — ошибка отступа
for i in range(3):
print(i)
Результат: IndentationError: expected an indented block. Сдвиньте строку print(i) внутри цикла на 4 пробела вправо.
TypeError — несовместимые типы
age = 25
print("Возраст: " + age)
Результат: TypeError: can only concatenate str (not "int") to str — к строке нельзя прибавить число знаком +. Исправление: print("Возраст:", age) или print("Возраст: " + str(age)).
Другие частые ошибки
- Не преобразовать результат
input()черезint():"5" + "3"даёт не8, а"53". - Ввод букв вместо числа:
int("пять")→ValueError. Это не ошибка в коде, а проблема введённых данных — позже вы научитесь их проверять. - Путать
=и==в условии. - Начинать индексы списка с единицы: в списке из трёх элементов
fruits[3]→IndexError. - Запускать файл, не сохранив его, и удивляться старому результату.
Небольшой проект: викторина шаг за шагом
Объединим изученное и напишем викторину из трёх вопросов. За каждый правильный ответ — 1 балл.
Шаг 1. Один вопрос. Достаточно input() и if. .strip() убирает лишние пробелы, а .lower() переводит текст в нижний регистр — тогда «Ташкент», «ташкент » и «ТАШКЕНТ» считаются одинаковыми:
reply = input("Какой город — столица Узбекистана? ")
if reply.strip().lower() == "ташкент":
print("Верно")
else:
print("Неверно")
Шаг 2. Несколько вопросов и баллы. Храним вопросы в списке: каждый элемент — вложенный список из вопроса и ответа. Цикл for задаёт их по очереди.
Шаг 3. Функция. Выносим задание вопроса и проверку ответа в отдельную функцию.
Шаг 4. Итоговая оценка. В зависимости от результата выводим комментарий через if/elif/else. Готовая программа:
# Викторина: 1 балл за каждый правильный ответ
questions = [
["Какой город — столица Узбекистана?", "ташкент"],
["Сколько дней в неделе?", "7"],
["Функция Python, которая выводит текст на экран?", "print"],
]
def ask(question, answer):
"""Задаёт вопрос и возвращает True, если ответ верный."""
reply = input(question + " ")
return reply.strip().lower() == answer
score = 0
for item in questions:
if ask(item[0], item[1]):
print("Верно")
score = score + 1
else:
print("Неверно. Правильный ответ:", item[1])
print(f"Результат: {score} / {len(questions)} балла")
if score == len(questions):
print("Отлично, всё верно")
elif score > 0:
print("Неплохо, попробуйте ещё раз")
else:
print("Повторите вопросы и попробуйте снова")
Запустите программу, намеренно дайте неверные ответы и проверьте, что работает каждая ветка. Потом добавьте свои вопросы — достаточно дописать строку в список, остальной код не меняется. В этом и сила списков и функций.
Практика, чек-лист и следующие шаги
Практические задания
- Знакомство. Спросите у пользователя имя и город и выведите фразу вроде «Привет, Азиза. Самарканд — красивый город».
- Калькулятор. Запросите два числа и выведите их сумму, разность, произведение и частное.
- Чётное или нечётное. С помощью
%иifопределите, чётное ли введённое число. - Таблица умножения. Для введённого числа выведите таблицу умножения от 1 до 10 с помощью
for. - Ежедневные расходы. Запишите расходы за неделю (условные числа) в список и с помощью функции посчитайте общий итог, среднее и самый большой расход.
Чек-лист
- Python установлен,
python --versionработает (или готова онлайн-среда). - Понимаю разницу между
print()иinput(); преобразую результатinput()черезint(). - Различаю типы str, int, float, bool.
- Не забываю двоеточие и 4 пробела в
if/elif/else. - Умею использовать
for,range()иwhile, выхожу из бесконечного цикла через Ctrl + C. - Знаю, что список нумеруется с нуля; использую
append,remove,len. - Пишу функции через
defи возвращаю результат черезreturn. - Читаю сообщение об ошибке снизу вверх и смотрю на номер строки.
Следующие шаги
Освоив основы, переходите к словарям (dict), работе с файлами, модулям и перехвату ошибок через try/except. Пишите код каждый день, пусть понемногу: полчаса регулярной практики в день полезнее, чем одно долгое занятие в неделю. Выкладывайте небольшие проекты (викторину, список, счётчик) на GitHub и постепенно собирайте портфолио. Следующим направлением может стать веб-разработка или работа с данными: в обеих областях Python — один из основных инструментов.
Если хотите системно изучать Python и программирование с преподавателем, познакомьтесь с бесплатными направлениями нашей ассоциации — программирование и аналитика данных, а также с другими учебными программами. Когда будете готовы, оставьте заявку — наши специалисты свяжутся с вами.