Примеры идут от простого к сложному: печать текста, чтение ввода, работа с текстом (сборка строк, форматирование вывода, экранирование), правила именования и первая ловушка типов, которая ведёт к теме следующего урока. Весь вывод в комментариях получен реальным запуском кода.
Пример 1. Hello, Python!
Самая короткая программа на Python: один вызов встроенной функции.
# 01_hello.py
print("Hello, Python!")
Что происходит: print() получает строку в скобках и выводит её в консоль. Вывод: Hello, Python!
Пример 2. Вывод имени пользователя
input() — первая функция, которая делает программу интерактивной.
# 02_user_name.py
name = "Alice" # результат input("Введите ваше имя: ")
print(name)
# Alice
Что происходит: input() сначала показывает приглашение, затем ждёт, пока пользователь нажмёт Enter, и возвращает введённый текст. Здесь вместо реального ввода с клавиатуры подставлено значение "Alice", чтобы пример можно было прогнать без интерактивного ожидания — в реальном файле строка выглядит как name = input("Введите ваше имя: ").
Пример 3. Личное досье: сборка строки из нескольких значений
Собираем результат из трёх введённых значений оператором +.
# 03_profile.py
name = "Алиса" # input("Введите имя: ")
age = "25" # input("Введите возраст: ")
city = "Париж" # input("Введите город: ")
print(name + " " + age + " лет, проживает в городе " + city)
# Алиса 25 лет, проживает в городе Париж
Почему так: все три переменные — строки, поэтому + просто склеивает текст. Пробелы между словами нужно добавлять вручную, иначе слова слипнутся. Пока типы данных не изучены, возраст остаётся строкой; преобразование в число — тема урока 04.
Пример 4. Повторитель текста без цикла
Этот вариант намеренно простой: три отдельных вызова вместо цикла, потому что циклы появятся позже в курсе.
# 04_repeater.py
text = "Привет" # input("Введите текст: ")
print(text)
print(text)
print(text)
# Привет
# Привет
# Привет
Что происходит: каждый вызов print() выводит своё значение на новой строке — по умолчанию print() добавляет в конце символ перевода строки.
Пример 5. print(): несколько аргументов, sep и end
print() умеет выводить сразу несколько значений через запятую и управлять разделителем и завершающим символом.
# 05_print_sep_end.py
print("2025", "08", "14")
# 2025 08 14 (по умолчанию sep=" ")
print("2025", "08", "14", sep="-")
# 2025-08-14
print("Hello", end=", ")
print("World", end="!\n")
# Hello, World! (два print() вывели одну строку)
print("a", "b", "c", sep="", end="|END\n")
# abc|END
Что происходит: sep задаёт разделитель между аргументами (по умолчанию — пробел), end — что добавить после вывода (по умолчанию — перевод строки). Изменив end, можно "склеить" вывод двух разных вызовов print() в одну видимую строку.
Пример 6. Экранирование спецсимволов
Кавычки и некоторые символы имеют особый смысл в строке. Обратная косая черта \ говорит интерпретатору: «следующий символ — не управляющий, а буквальный».
# 06_escape.py
quote = "Он сказал: \"Привет!\""
print(quote)
# Он сказал: "Привет!"
text = "Строка1\nСтрока2\tС табуляцией"
print(text)
# Строка1
# Строка2 С табуляцией
path_like = "Путь: C:\\Users\\Alice"
print(path_like)
# Путь: C:\Users\Alice
Почему так: \" — это буквальная кавычка внутри строки, ограниченной такими же кавычками; \n — перевод строки; \t — табуляция; \\ — один буквальный обратный слэш. Без экранирования кавычка внутри строки оборвала бы её раньше времени.
Пример 7. Комментарии
Комментарии объясняют код человеку; интерпретатор их полностью игнорирует.
# 07_comments.py
x = 5 # это переменная x
"""
Такую тройную строку интерпретатор просто вычислит и отбросит —
в функциях и классах это станет docstring.
"""
print(x)
# 5
Что происходит: текст после # и до конца строки не выполняется. Строка в тройных кавычках, если она не сохранена в переменную и не стоит первой в функции, — обычное выражение без побочных эффектов, поэтому её тоже часто используют как комментарий-описание.
Пример 8. Корректные и некорректные имена переменных
Неправильное имя переменной — самая частая причина SyntaxError на старте.
# 08_names.py
student_name = "Bob"
age_25 = 25
print(student_name, age_25)
# Bob 25
bad_examples = ["2nd_place = 2", "my-variable = 10", "if = 42"]
for code in bad_examples:
try:
exec(code)
except SyntaxError as error:
print(f"{code!r} -> SyntaxError: {error}")
# '2nd_place = 2' -> SyntaxError: invalid decimal literal (<string>, line 1)
# 'my-variable = 10' -> SyntaxError: cannot assign to expression here. Maybe you meant '==' instead of '='? (<string>, line 1)
# 'if = 42' -> SyntaxError: invalid syntax (<string>, line 1)
Что происходит: exec() здесь используется только для того, чтобы показать реальный текст ошибки для каждого неверного имени, не прерывая работу всего файла — в обычном коде так писать имена переменных, конечно, не нужно. 2nd_place начинается с цифры, my-variable Python читает как вычитание, if — зарезервированное слово.
Пример 9. = — это не ==
Один знак присваивает значение, два знака сравнивают значения и возвращают True/False.
# 09_assign_vs_eq.py
a = 5 # присваивание: a теперь ссылается на 5
print(a) # 5
print(a == 5) # True — сравнение, ничего не меняет
print(a == 6) # False
Почему так: a = 5 — инструкция, у неё нет результата для вывода. a == 5 — выражение, оно вычисляет булево значение. Спутать их — частый источник логических ошибок в условиях (тема следующих уроков).
Пример 10. Ловушка: input() всегда возвращает строку
Даже если пользователь ввёл цифры, input() вернёт строку, а не число. Это открывает тему явного преобразования типов из урока 04.
# 10_input_is_str.py
num1 = "5" # input("Первое число: ")
num2 = "3" # input("Второе число: ")
print(num1 + num2) # 53 — склеивание строк, не сложение
print(type(num1 + num2)) # <class 'str'>
Что происходит: + для строк означает конкатенацию, поэтому "5" + "3" даёт "53". Чтобы получить арифметическую сумму 8, нужно явно преобразовать обе строки функцией int() — это первый пример, где два одинаковых на вид символа + ведут себя по-разному в зависимости от типа операндов.
Что делать дальше
Разберите файлы репозитория — там те же идеи в исходном виде, затем переходите к заданиям. Если что-то из примеров не запустилось — сначала загляните в типичные ошибки.