Зарегистрированная негосударственная некоммерческая организация свидетельство № 1052p

Статьи

Python: первые шаги

12 мин чтения

Python с нуля: установка, print и input, переменные, условия, циклы, списки, функции, чтение сообщений об ошибках и проект-викторина.

Хотите научиться программировать, но не знаете, с чего начать? Для многих самый удобный первый язык — Python. В этом руководстве объясним, что такое Python и почему он подходит новичкам, установим его на компьютер (или попробуем прямо в браузере без установки), напишем первую программу и разберём на примерах основные понятия: переменные и типы данных, ввод данных от пользователя, арифметику, условия, циклы, списки и функции. Затем научимся читать сообщения об ошибках, шаг за шагом соберём простую программу-викторину, а в конце дадим практические задания и чек-лист. Опыт не требуется — достаточно уверенно пользоваться компьютером.

Что такое Python и почему он удобен новичкам

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

Почему начинать удобно именно с Python:

  • Простой для чтения синтаксис. Код на Python похож на обычные английские фразы. Нет лишних скобок и точек с запятой.
  • Быстрый результат. Пишете одну строку и сразу видите результат. Это помогает не терять мотивацию.
  • Широкое применение. Освоив основы, можно перейти к анализу данных, веб-разработке или автоматизации — язык останется тем же.
  • Много учебных материалов. Ответ на любой вопрос легко найти, а сообщения об ошибках написаны понятно.

Если вы ещё размышляете, что такое программирование вообще и какое направление выбрать, сначала прочитайте нашу статью о том, как начать программировать.

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

Установка в Windows

  1. Откройте в браузере сайт python.org и в разделе Downloads скачайте последнюю стабильную версию для Windows.
  2. Запустите установщик. Внизу первого окна есть флажок Add python.exe to PATH — обязательно отметьте его. Без этого флажка командная строка «не узнает» Python.
  3. Нажмите Install Now и дождитесь окончания установки.
  4. Откройте через меню Пуск 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("Повторите вопросы и попробуйте снова")

Запустите программу, намеренно дайте неверные ответы и проверьте, что работает каждая ветка. Потом добавьте свои вопросы — достаточно дописать строку в список, остальной код не меняется. В этом и сила списков и функций.

Практика, чек-лист и следующие шаги

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

  1. Знакомство. Спросите у пользователя имя и город и выведите фразу вроде «Привет, Азиза. Самарканд — красивый город».
  2. Калькулятор. Запросите два числа и выведите их сумму, разность, произведение и частное.
  3. Чётное или нечётное. С помощью % и if определите, чётное ли введённое число.
  4. Таблица умножения. Для введённого числа выведите таблицу умножения от 1 до 10 с помощью for.
  5. Ежедневные расходы. Запишите расходы за неделю (условные числа) в список и с помощью функции посчитайте общий итог, среднее и самый большой расход.

Чек-лист

  • 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 и программирование с преподавателем, познакомьтесь с бесплатными направлениями нашей ассоциации — программирование и аналитика данных, а также с другими учебными программами. Когда будете готовы, оставьте заявку — наши специалисты свяжутся с вами.

Вернуться к статьям

Другие статьи

13 мин чтения

Знакомство с 1С: основы учётной программы

Что такое 1С:Предприятие, разница платформы и конфигурации, справочники, проведение документов, отчёты, резервная копия и упражнение для новичков.

Начните обучение сегодня

Набор в группы открыт. Оставьте заявку — наши специалисты свяжутся с вами и помогут выбрать подходящее направление.

Написать в Telegram