Перейти к содержимому
Editor

Python для начинающих: первая программа за 5 минут

Начальный20 min4 упр.60 XP

Этот урок переведён с английского оригинала.Read in EnglishLeer en españolСообщить об ошибке в переводе

0/4 упр.

Вы когда-нибудь задумывались, как на самом деле устроены Telegram, YouTube или Instagram? За каждым приложением, сайтом и игрой стоит код: инструкции, в которых человек объясняет компьютеру, что делать.

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

В этом уроке вы напишете первую программу на Python, узнаете, как Python работает с текстом и числами, и начнёте хранить информацию в переменных. Каждый пример кода на этой странице живой: можно нажать «Запустить», что-нибудь изменить и сразу увидеть результат. Ничего устанавливать не нужно.

Как написать первую программу на Python

В программировании есть забавная традиция: в любом новом языке первым делом нужно заставить программу сказать «Hello, World!» («Привет, мир!»). Это короткое рукопожатие между вами и языком, доказательство того, что всё работает.

В некоторых языках для этого нужно 5 строк кода или больше. В Python хватит одной:

Ваша первая программа на Python
print("Hello, World!")
Вывод
Hello, World!

Нажмите кнопку Запустить выше. Под кодом должно появиться Hello, World!. Вот и всё: вы только что запустили программу на Python!

Разберём, что сейчас произошло:

  • `print()` является встроенной функцией. Представьте её как машину: вы что-то кладёте внутрь, и она что-то с этим делает. Эта функция выводит текст на экран.
  • В скобки () передаются данные. Программисты называют их «аргументом».
  • `"Hello, World!"` называется строкой: так в программировании называют текст. Кавычки сообщают Python: «это текст, а не код».
  • Попробуйте изменить сообщение в кавычках и запустить код снова. Выведите своё имя. Добавьте второй print() на новой строке:

    Вывод нескольких строк
    print("Hello, World!")
    print("My name is Python.")
    print("Nice to meet you!")
    Вывод
    Hello, World!
    My name is Python.
    Nice to meet you!

    Каждый print() выводит текст на отдельной строке. Python читает код сверху вниз, строку за строкой, как книгу.

    В каком порядке вы пишете команды, в таком они и выполняются. Это одна из самых важных идей в программировании.

    Что такое комментарии в Python?

    Комментарий представляет собой заметку внутри кода, которую Python полностью игнорирует. Чтобы его создать, начните строку с символа #.

    Зачем просить Python что-то игнорировать? Потому что комментарии пишутся для людей, а не для компьютеров. Они помогают вам (и всем, кто читает ваш код) понять, что происходит.

    Как работают комментарии в Python
    # This is a comment - Python skips this line
    print("This line runs!") # You can also add comments at the end
    # Comments are great for leaving notes to yourself:
    # TODO: add more features later
    # You can also "comment out" code to temporarily disable it:
    # print("This line won't run because it starts with #")
    Вывод
    This line runs!

    Комментарии похожи на стикеры на листке с рецептом. Духовка их не читает, но они помогают вам вспомнить, зачем вы добавили больше соли или при какой температуре всё получилось лучше всего.

    Строки и числа в Python: в чём разница?

    В Python у всего есть тип. Тип похож на ярлык: он сообщает Python, что это за данные и что с ними можно делать.

    Два самых базовых типа: строки (текст) и числа. Если вы поймёте разницу между ними, то избежите множества непонятных ошибок.

    Как создавать строки в Python

    Строка представляет собой любой текст в кавычках. Можно использовать одинарные кавычки ('hello') или двойные ("hello"): работают они совершенно одинаково.

    Создание строк
    print("Hello!") # Using double quotes
    print('Hello!') # Using single quotes - same result
    # Handy trick: if your text has a quote inside it,
    # use the OTHER type of quote on the outside:
    print("It's a sunny day!") # Apostrophe inside double quotes
    print('She said "wow!"')
    Вывод
    Hello!
    Hello!
    It's a sunny day!
    She said "wow!"

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

    Числовые типы в Python: целые числа и числа с плавающей точкой

    Числа в Python бывают двух видов:

  • Целые числа (`int`): числа без дробной части, например 42, -7 или 1000000. Десятичной точки у них нет.
  • Числа с плавающей точкой (`float`): дробные числа, например 3.14, -0.5 или 100.0. Десятичная точка у них есть всегда.
  • Примеры целых чисел и чисел float
    print(42) # Integer (whole number)
    print(3.14) # Float (decimal number)
    print(-7) # Negative integer
    print(1_000_000) # Underscores make big numbers readable - Python ignores them
    Вывод
    42
    3.14
    -7
    1000000

    Почему в Python важен тип данных?

    Вот на чём спотыкается почти каждый новичок. "42" (в кавычках) и 42 (без кавычек) для Python совершенно разные вещи.

    Одно из них текст, другое число. При выводе они выглядят одинаково, но ведут себя совсем по-разному:

    Разница между "42" и 42
    # They look the same when printed...
    print("42")
    print(42)
    # But Python sees them as different types:
    print(type("42")) # <class 'str'> - it's a string (text)
    print(type(42)) # <class 'int'> - it's an integer (number)
    # And they behave differently with the + operator:
    print("42" + "8") # "428" - joins the text together
    print(42 + 8) # 50 - does math
    Вывод
    42
    42
    <class 'str'>
    <class 'int'>
    428
    50

    "42" + "8" даёт "428", потому что + между строками означает «склеить их». Это называется конкатенацией.

    42 + 8 даёт 50, потому что + между числами означает «сложить их». Один и тот же оператор ведёт себя совершенно по-разному в зависимости от типа.

    Функция type() точно скажет, с какими данными вы работаете. Если что-то ведёт себя не так, как вы ожидали, первым делом обычно стоит проверить тип.

    Как выполнять вычисления в Python

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

    Вот все математические операторы, которые вам понадобятся:

    Математические операторы Python
    print(2 + 3) # Addition → 5
    print(10 - 4) # Subtraction → 6
    print(3 * 7) # Multiplication → 21
    print(15 / 4) # Division → 3.75
    print(15 // 4) # Floor division → 3 (chops off the decimal)
    print(15 % 4) # Modulo → 3 (the remainder)
    print(2 ** 10) # Exponent → 1024 (2 to the power of 10)
    Вывод
    5
    6
    21
    3.75
    3
    3
    1024

    Большинство из них работают так же, как на уроке математики. Но некоторые могут оказаться для вас новыми.

    `/` (деление) всегда даёт дробный результат, даже когда числа делятся нацело. 10 / 2 даёт 5.0, а не 5. Многих это застаёт врасплох.

    `//` (целочисленное деление) делит и округляет результат вниз до ближайшего целого числа. Можно представить это как «деление, после которого отбрасывается всё, что стоит после точки».

    `%` (деление по модулю) даёт остаток от деления. Например, 15 ÷ 4 = 3 и 3 в остатке. Этот оператор неожиданно полезен: с ним можно проверить, чётное ли число (n % 2 == 0), заставить значения идти по кругу (как стрелки часов: 13 % 12 = 1) и сделать многое другое.

    ` (возведение в степень)** возводит число в степень. 2 ** 10` означает «перемножить 10 двоек», в результате получается 1024.

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

    Порядок действий и скобки
    # Without parentheses: multiplication happens first
    print(2 + 3 * 4) # 2 + 12 = 14
    # With parentheses: addition happens first
    print((2 + 3) * 4) # 5 * 4 = 20
    # A real example: Celsius to Fahrenheit
    celsius = 25
    fahrenheit = (celsius * 9/5) + 32
    print(f"{celsius}°C = {fahrenheit}°F")
    Вывод
    14
    20
    25°C = 77.0°F
    ❌ Чего ожидают новички
    # "Division gives a whole number, right?"
    result = 10 / 3
    print(result)  # Expects: 3
    ✓ Что на самом деле делает Python
    # / always gives a decimal (float)
    result = 10 / 3
    print(result)  # 3.3333333333333335
    
    # Use // to get a whole number
    result = 10 // 3
    print(result)  # 3

    Что такое переменные в Python и как ими пользоваться?

    До сих пор мы работали со значениями напрямую: print(42), print(2 + 3). Для быстрых вычислений этого хватает, но настоящим программам нужно запоминать значения и использовать их позже.

    Для этого и нужны переменные. Представьте переменную как подписанный контейнер. Вы даёте ему имя, кладёте внутрь значение и потом обращаетесь к нему по имени, когда значение понадобится.

    Создание и использование переменных
    # Creating variables - pick a name and use =
    name = "Alice"
    age = 15
    height = 5.4
    is_student = True
    # Now use the names instead of raw values
    print(name) # Alice
    print(age) # 15
    print(height) # 5.4
    print(is_student) # True
    Вывод
    Alice
    15
    5.4
    True

    name = "Alice" создаёт переменную с именем name и сохраняет в ней строку "Alice". Знак = является оператором присваивания: он не означает «равно», как в математике. Он означает «сохранить это значение под этим именем».

    Читайте name = "Alice" так: «name получает значение Alice». Это различие важно, и позже оно убережёт вас от путаницы.

    Обратите внимание: здесь нет ключевых слов let, var или const. В JavaScript вы бы написали let name = "Alice", а в Python достаточно name = "Alice". Объявлять тип в Python тоже не нужно: он сам определяет тип по значению.

    Переменные могут меняться. Новое значение можно присвоить в любой момент:

    Изменение переменных
    score = 0
    print(f"Starting score: {score}")
    score = 10
    print(f"After first round: {score}")
    # Use the current value to calculate the new value
    score = score + 5
    print(f"After bonus: {score}")
    score = score * 2
    print(f"After doubling: {score}")
    Вывод
    Starting score: 0
    After first round: 10
    After bonus: 15
    After doubling: 30

    Строка score = score + 5 выглядит странно, если считать = знаком «равно». Но помните: = означает «присвоить».

    Читайте её так: «взять текущее значение score (10), прибавить 5, получить 15 и сохранить результат обратно в score». Такой приём, когда переменная обновляется на основе своего текущего значения, встречается в программировании повсюду.

    Как использовать f-строки в Python (форматирование строк)

    Почти в любой программе нужно вставлять значения переменных в текст. Приветствие с именем человека, вывод счёта, печать чека: везде данные приходится объединять с текстом.

    Для этого в Python есть замечательный инструмент, f-строки (буква «f» означает formatted, то есть «форматированная»). Поставьте букву f перед открывающей кавычкой, а внутри фигурных скобок {curly braces} укажите любую переменную или выражение:

    f-строки: переменные внутри текста
    name = "Alice"
    age = 15
    # Basic f-string - variables go inside {braces}
    print(f"Hi, my name is {name}!")
    print(f"I am {age} years old.")
    # You can put math and expressions inside the braces too
    print(f"Next year I'll be {age + 1}.")
    print(f"My name has {len(name)} letters.")
    print(f"My name in uppercase: {name.upper()}")
    Вывод
    Hi, my name is Alice!
    I am 15 years old.
    Next year I'll be 16.
    My name has 5 letters.
    My name in uppercase: ALICE

    Всё волшебство происходит в фигурных скобках {curly braces}. Python вычисляет выражение внутри них, превращает результат в текст и подставляет его в строку.

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

    Практический пример f-строки
    # A mini shopping receipt
    item = "coffee"
    price = 4.50
    quantity = 3
    total = price * quantity
    print(f"Item: {item}")
    print(f"Price: ${price} x {quantity}")
    print(f"Total: ${total}")
    Вывод
    Item: coffee
    Price: $4.5 x 3
    Total: $13.5

    Сравните это со старым способом, когда строку собирают из кусочков с помощью +:

    ❌ Без f-строк (громоздко)
    name = "Alice"
    age = 15
    
    # Have to convert age, lots of + signs
    print("Hi, my name is " + name + "!")
    print("I am " + str(age) + " years old.")
    ✓ С f-строками (аккуратно)
    name = "Alice"
    age = 15
    
    # Just put variables inside {braces}
    print(f"Hi, my name is {name}!")
    print(f"I am {age} years old.")

    При старом способе приходится вызывать str(age), чтобы вручную превратить число в текст. Напомним: оператором + нельзя напрямую соединить строку и число.

    f-строки выполняют это преобразование автоматически. Они чище, быстрее и реже приводят к ошибкам. В новом коде всегда используйте их.

    Собираем всё вместе: мини-проект

    Объединим всё изученное в одну небольшую программу. Она показывает схему, которую вы будете применять в любом проекте на Python: сохранить данные в переменных, выполнить вычисления и вывести результат.

    Мини-проект: калькулятор чаевых
    # === Tip Calculator ===
    # Input data
    meal_cost = 52.50
    tax_rate = 0.08 # 8% tax
    tip_rate = 0.20 # 20% tip
    # Calculations
    tax = meal_cost * tax_rate
    subtotal = meal_cost + tax
    tip = subtotal * tip_rate
    total = subtotal + tip
    # Display a formatted receipt
    print("=" * 28)
    print(" TIP CALCULATOR")
    print("=" * 28)
    print(f" Meal: ${meal_cost:.2f}")
    print(f" Tax (8%): ${tax:.2f}")
    print(f" Subtotal: ${subtotal:.2f}")
    print(f" Tip (20%): ${tip:.2f}")
    print("-" * 28)
    print(f" TOTAL: ${total:.2f}")
    print("=" * 28)
    Вывод
    ============================
         TIP CALCULATOR
    ============================
      Meal:       $52.50
      Tax (8%):   $4.20
      Subtotal:   $56.70
      Tip (20%):  $11.34
    ----------------------------
      TOTAL:      $68.04
    ============================

    Пока не обращайте внимания на :.2f: эта запись означает «показать ровно 2 знака после запятой» (поэтому 4.5 выводится как 4.50). Форматирование мы подробно разберём позже.

    Главное здесь сама схема: сохранить данные → выполнить вычисления → вывести результат. На ней построена любая программа, будь в ней 10 строк или 10 000.

    Попробуйте изменить meal_cost, tax_rate или tip_rate и запустить код снова!


    Упражнения

    Теперь ваша очередь! Упражнения идут от простых к сложным, и в каждом пригодится то, что вы уже изучили.

    Несколько советов перед началом:

  • Сначала попробуйте сами, подглядывайте потом. Немного помучиться полезно: именно так мозг и учится.
  • Читайте сообщения об ошибках. Они выглядят пугающе, но обычно точно говорят, что пошло не так.
  • Не злоупотребляйте подсказками. У каждого упражнения есть подсказки, и они открываются по одной.
  • Экспериментируйте после решения. Когда появится зелёная галочка, поменяйте что-нибудь и посмотрите, что получится.
  • Упражнение 1: выведите приветствие
    Напишите код

    Напишите программу, которая выводит ровно:

    Hello, Python!

    Тест проверяет точное совпадение, включая запятую, пробел и восклицательный знак.

    # Print the greeting below
    Упражнение 2: счёт в ресторане
    Напишите код

    Обед стоит 24,50 $, налог составляет 2,45 $, а чаевые 5,00 $. Переменные уже созданы за вас.

    Вычислите итоговую сумму и выведите её точно в таком формате:

    Total: $31.95
    meal = 24.50
    tax = 2.45
    tip = 5.00
    # Calculate the total and print it
    Упражнение 3: знакомство
    Напишите код

    Создайте две переменные:

  • name со значением "Alice"
  • language со значением "Python"
  • Затем с помощью f-строки выведите:

    Hi, I'm Alice and I love Python!
    # Create your variables
    # Print the introduction using an f-string
    Упражнение 4: исправьте сломанный калькулятор
    Исправьте ошибку

    Этот код должен вычислить площадь прямоугольника (ширина × высота) и вывести её. Но в нём две ошибки!

    Сначала запустите неисправный код и прочитайте сообщение об ошибке. Затем исправьте обе ошибки, чтобы вывод был таким:

    Area: 35
    width = 5
    height = 7
    area = width + height
    print("Area: " + area)

    Итоги: что вы узнали в этом уроке

    Отличная работа, вы прошли свой первый урок по Python! Вот что вы теперь знаете:

    ПонятиеЧто делаетПример
    print()Выводит данные на экранprint("hello")
    Комментарии (#)Заметки, которые Python игнорирует# this is a note
    СтрокиТекст в кавычках"hello" или 'hello'
    Целые числаЧисла без дробной части42, -7
    Числа с плавающей точкойДробные числа3.14, 0.5
    Математические операторы+ - * / // % **2 ** 10 → 1024
    type()Сообщает тип данныхtype(42) → int
    ПеременныеИменованные контейнеры для данныхage = 15
    f-строкиВставляют переменные в текстf"Age: {age}"

    Это не те азы, из которых вы со временем вырастете. На них держится любая программа на Python. Даже самый продвинутый код складывается из творческих сочетаний этих кирпичиков.

    Что дальше?

    В следующем уроке, [Переменные и типы данных](/python/variables-and-data-types), вы подробнее узнаете, как Python хранит данные. Вы познакомитесь с логическими значениями (True/False), значением None и преобразованием типов.

    А ещё вы узнаете, почему 0.1 + 0.2 не равно 0.3 в Python (и в любом другом языке программирования) и что с этим делать.

    Похожие уроки

    Урок был полезен?