9.05. Программа на Python
Языки программирования
Что такое язык программирования
Как скачать и установить Python
Программа на Python
Объявим переменную
print(переменная)
Часть 1. Что такое язык программирования
Представьте, что вы хотите научить кого-то выполнять сложные действия: например, собрать конструктор по инструкции, приготовить суп или нарисовать картину по клеточкам. Для этого вам понадобится не просто сказать «сделай это», а объяснить пошагово, чётко, без двусмысленностей — иначе результат может получиться совсем не таким, как вы ожидали.
Компьютер — как раз такой исполнитель. Он невероятно быстр, точен и никогда не устаёт… но он не понимает человеческую речь так, как понимает её человек. Он не умеет «догадываться», «додумывать» или «прощать ошибки в формулировках». Чтобы дать компьютеру команду, нужно использовать особый язык — язык программирования.
Что такое язык программирования?
Язык программирования — это система правил и соглашений, с помощью которых люди описывают последовательность действий для компьютера. Это не просто «код», как иногда думают. Это — язык общения между человеком и машиной.
Как и в человеческих языках, в языках программирования есть:
- алфавит — набор допустимых символов (буквы, цифры и знаки препинания, разрешённые в коде);
- лексика — слова и конструкции, которые имеют определённое значение (например,
print,if,while); - семантика — смысл этих конструкций;
- синтаксис — правила, как правильно соединять слова между собой, чтобы компьютер понял, что от него требуется.
Но, в отличие от человеческих языков, языки программирования не допускают двусмысленности. Даже одна лишняя запятая или пробел в неправильном месте могут привести к ошибке. Это не каприз — это необходимость. Компьютер не «подумает» за вас. Он просто выполнит то, что вы ему точно сказали.
Почему Python?
Существует сотни языков программирования. У каждого — своя история, своя область применения, своя аудитория. Среди них: C++, Java, JavaScript, Rust, PHP, Swift… и Python.
Python появился в 1991 году. Его создатель, Гвидо ван Россум, задумал его как язык, на котором было бы приятно и легко писать, даже если вы только начинаете. Он хотел, чтобы код читался почти как английский текст — и у него получилось.
Сегодня Python — один из самых популярных языков в мире. Его используют:
- учёные для анализа данных и моделирования;
- инженеры для управления роботами и спутниками;
- разработчики веб-сайтов и мобильных приложений;
- специалисты по безопасности для защиты систем;
- и, что особенно важно для нас, — ученики и учителя, потому что Python — прекрасный инструмент для первого знакомства с программированием.
Но давайте разберём, почему он так подходит для начала — и что значит каждая из тех фраз, которые часто о нём говорят.
Python — высокоуровневый язык. Что это значит? А какие ещё есть уровни?
Здесь важно понять: уровень языка — это не про "сложность для человека", а про степень удалённости от "железа", то есть от физических компонентов компьютера (процессора, памяти, шин данных).
Представьте, что вы хотите попросить кого-то сварить кашу.
-
Низкоуровневый язык — это как дать инструкцию на уровне физики и химии:
«Налей 200 мл воды в металлический сосуд. Поднеси сосуд к источнику тепла. Увеличь температуру источника до 100 °C и удерживай её в течение 5 минут…»
Такой язык близок к тому, как «думает» процессор — и потому очень мощный, но требует глубокого понимания устройства компьютера. Пример — язык асемблера. -
Высокоуровневый язык, напротив, говорит на уровне задач, а не деталей:
«Свари овсянку по инструкции на упаковке»
— и доверяет системе самой решить, как именно это сделать: сколько воды налить, какую мощность поставить, когда выключить.
Python — высокоуровневый язык. Это значит, что вы можете сосредоточиться на логике задачи («посчитать сумму чисел», «нарисовать квадрат», «спросить имя и поздороваться»), а не на том, как процессор будет переключать миллиарды транзисторов, чтобы выполнить вашу просьбу.
Это огромное преимущество для начинающих: меньше шансов запутаться в технических деталях, больше — на понимании сути программирования.
Python — интерпретируемый язык. А что тогда компилируемый?
Когда вы напишете программу на Python, компьютер не может сразу её выполнить. Ваш текст — это просто файл с символами. Его нужно перевести в команды, которые поймёт процессор.
Существует два основных способа такого перевода: компиляция и интерпретация.
-
Компиляция — это как перевести книгу целиком перед чтением. Сначала программа (компилятор) читает весь ваш код, преобразует его в машинный язык (набор нулей и единиц), и создаёт отдельный исполняемый файл (
.exe,.binи т.п.). Только после этого вы можете запустить программу. Примеры: C, C++, Go. -
Интерпретация — это как переводчик на уроке: он слушает вас построчно и сразу передаёт смысл слушателю. Интерпретатор Python читает ваш код строка за строкой, сразу же превращает её в машинные команды и выполняет. Программа не становится отдельным файлом — она «живёт» только пока работает интерпретатор.
Почему это хорошо для новичков?
— Ошибки видны сразу: если в пятой строке ошибка — интерпретатор остановится на пятой строке и скажет, что не так.
— Не нужно ждать длительной компиляции перед каждым запуском — написали строку — запустили — увидели результат.
— Можно экспериментировать в реальном времени (об этом — дальше, в разделе про IDLE и онлайн-редакторы).
Python — интерпретируемый язык. За это отвечает программа под названием интерпретатор Python — она и «читает» ваш код, и «выполняет» его.
Python — скриптовый язык. А чем он отличается от "обычного"?
Слово скрипт происходит от английского script — «сценарий». Сценарий фильма — это последовательность действий, которые актёры исполняют от начала до конца. Так и скрипт: это небольшая программа, которая автоматизирует какую-то задачу и запускается по требованию.
Скриптовые языки (к ним относятся Python, JavaScript, PHP, Bash) обычно:
- не требуют сложной подготовки перед запуском (в отличие, например, от C++, где нужно собрать проект, подключить библиотеки и т.д.);
- хорошо взаимодействуют с операционной системой (могут копировать файлы, запускать другие программы, читать папки);
- часто используются для «склеивания» других программ или автоматизации рутинных действий.
Python изначально создавался как скриптовый язык — и до сих пор отлично справляется с этой ролью. Но со временем он стал настолько мощным и гибким, что на нём пишут не только скрипты, но и огромные системы: от веб-серверов до искусственного интеллекта.
То есть:
✅ Python можно использовать как скриптовый язык — быстро написать небольшую программку и запустить.
✅ Но при этом он не ограничен этим — он масштабируется вместе с вашими знаниями.
Как скачать и установить Python?
Python можно установить на любой компьютер: с Windows, macOS или Linux. И — что важно — это бесплатно. Python распространяется по открытой лицензии, и его разработка поддерживается сообществом по всему миру.
Шаг 1. Перейдите на официальный сайт
Откройте в браузере: https://www.python.org
(Обязательно проверьте: адрес начинается с https:// и содержит python.org — это защита от подделок.)
Шаг 2. Найдите кнопку загрузки
На главной странице вы увидите большую жёлтую кнопку: Download Python 3.x.x (например, Download Python 3.12.3). Нажмите её.
💡 Почему именно Python 3, а не Python 2?
Python 2 — устаревшая версия, которая больше не поддерживается. Все новые книги, курсы и библиотеки используют Python 3. Никогда не устанавливайте Python 2 — это как учиться на старом учебнике, в котором уже исправлены ошибки.
Шаг 3. Запустите установщик
После загрузки откройте файл python-3.x.x.exe (на Windows) или .pkg (на Mac).
❗ Очень важный момент: на первом экране установщика обязательно поставьте галочку напротив
☑ Add Python to PATH
— и только потом нажимайте «Install Now». Если вы этого не сделаете, компьютер не узнает, где искать Python, и вы не сможете запускать программы из командной строки.
Шаг 4. Проверьте установку
После завершения установки откройте:
- на Windows: Командную строку (
Win + R, введитеcmd, нажмите Enter); - на Mac: Терминал (через Spotlight: нажмите
Cmd + Пробел, введите Terminal).
И напишите команду:
python --version
Если всё прошло успешно, вы увидите что-то вроде:
Python 3.12.3
Поздравляем — Python установлен!
Из чего состоит пакет Python? Интерпретатор и IDLE
Когда вы устанавливаете Python, вместе с ним приходят несколько важных компонентов. Два из них — самые важные для старта:
1. Интерпретатор Python (python.exe или python)
Это «движок», который читает и выполняет ваш код. Именно его вы вызываете, когда пишете в командной строке python имя_файла.py. Без интерпретатора Python — просто текст в файле.
2. IDLE — Integrated Development and Learning Environment
Это простейшая среда разработки, которая идёт в комплекте с Python. Она состоит из двух частей:
- Python Shell — интерактивная консоль. Здесь можно вводить команды по одной и сразу видеть результат. Отлично подходит для экспериментов.
- Редактор кода — окно, похожее на Блокнот, но с подсветкой синтаксиса. В нём удобно писать программы и сохранять их в файлы
.py.
IDLE — не самая мощная среда (позже вы, возможно, перейдёте на VS Code или PyCharm), но для первых шагов она идеальна: простая, лёгкая, и в ней не запутаешься.
Программа на Python: первый код
Теперь переходим к самому интересному — к написанию первой программы.
Шаг 1. Объявим переменную
Переменная — это именованная коробочка, в которую можно положить какое-то значение, а потом использовать его позже.
Например:
приветствие = "Привет, Вселенная IT!"
Здесь:
приветствие— имя переменной (может быть почти любым, главное — без пробелов и с учётом регистра:Приветствиеиприветствие— разные вещи);=— оператор присваивания (не «равно», а «положи в коробочку»);"Привет, Вселенная IT!"— строка текста. Обратите внимание: она заключена в кавычки — иначе Python подумает, чтоПривет— это команда, и выдаст ошибку.
Шаг 2. Покажем содержимое переменной
Чтобы увидеть, что лежит в переменной, используем команду print() — от английского print («напечатать»). В программировании «напечатать» — значит «вывести на экран».
Добавим вторую строку:
приветствие = "Привет, Вселенная IT!"
print(приветствие)
Теперь у нас есть полноценная программа — две строки кода.
Шаг 3. Сохраним в файл .py
-
Откройте IDLE (найдите в меню «Пуск» или через поиск: IDLE).
Откроется окно Python Shell. -
В меню выберите File → New File.
Появится чистое окно редактора. -
Введите туда наши две строки:
приветствие = "Привет, Вселенная IT!"
print(приветствие)
- Сохраните файл:
File → Save As…
Выберите папку (например,Документы/IT_Universe),
введите имя:приветствие.py
(обязательно с расширением.py— иначе компьютер не поймёт, что это программа на Python).
Шаг 4. Запустим из командной строки
- Откройте командную строку (Windows) или терминал (Mac).
- Перейдите в папку, где лежит файл. Например, если файл в
Документы/IT_Universe, напишите:
cd Документы/IT_Universe
(на Windows пути разделяются обратным слешем \, но в командной строке лучше использовать / — она сама поймёт).
- Запустите программу:
python приветствие.py
Вы увидите:
Привет, Вселенная IT!
✅ Работает! Вы только что создали, сохранили и запустили свою первую программу.
Альтернативные способы запуска
Не у всех есть возможность устанавливать программы на компьютер (например, в школе могут быть ограничения). Хорошая новость: Python можно использовать и онлайн — без установки.
Вариант 1: Edublocks (для самых маленьких, 8–12 лет)
https://edublocks.org — это визуальная среда, похожая на Scratch. Здесь код собирается из блоков-пазлов, и при этом сразу показывается, как это выглядит на настоящем Python. Отлично подходит для первого знакомства: дети видят структуру языка, но не пугаются синтаксиса.
Вариант 2: Trinket (для 10–16 лет)
https://trinket.io/python3 — онлайн-редактор с настоящим Python. Можно писать код, нажимать «Run» — и видеть результат прямо в браузере. Есть поддержка графики (черепашья графика), звука, даже простых игр. Учителя могут делиться ссылками на задания — и ученики сразу начинают работать.
Вариант 3: IDLE (о нём уже говорили)
Если Python установлен, IDLE всегда под рукой. Чтобы запустить программу из редактора IDLE — просто нажмите F5 или выберите Run → Run Module. Программа выполнится в окне Shell.
Вариант 4: Visual Studio Code (для тех, кто хочет «как профессионалы»)
Visual Studio Code — бесплатный редактор от Microsoft. Он не для программирования «из коробки», но с расширениями превращается в мощную среду.
Как настроить:
- Скачайте и установите VS Code.
- Откройте его, зайдите в раздел расширений (иконка квадратиков слева).
- Найдите и установите расширение Python (официальное, от Microsoft).
- Перезапустите VS Code.
- Теперь вы можете создавать файлы
.py, и редактор будет:- подсвечивать синтаксис;
- подсказывать команды;
- запускать программу прямо по кнопке (зелёный треугольник вверху справа или через
Ctrl+F5).
Это уже «взрослый» инструмент — но он настраивается постепенно, и начинающему ничего не мешает в нём писать первую программу.
Часть 2. Данные: что кладут в переменные, и как программа с ними работает
В первой части мы создали переменную приветствие и поместили в неё текст. Но переменные — это не только для слов. Это универсальные «коробочки», и в них можно класть разные виды информации. Чтобы компьютер не запутался, Python различает, какого типа данные лежат в переменной. Это похоже на сортировку игрушек: машинки — в одну коробку, кубики — в другую, мягкие мишки — в третью. Так и Python: числа — одни правила, текст — другие, истинность — третьи.
Что такое тип данных?
Тип данных — это характеристика значения, которая определяет:
- какие операции можно с ним делать;
- сколько памяти он занимает;
- как он представлен внутри компьютера.
Нам не нужно знать всё про внутреннее устройство — достаточно понимать, как с этим работать. В Python основные типы, с которыми вы столкнётесь в начале, — это:
| Тип | Пример | Как писать | Что значит |
|---|---|---|---|
Целое число (int) | 42, -7, 0 | просто цифры | Числа без дробной части. Их можно складывать, вычитать, умножать, делить. |
Дробное число (float) | 3.14, -0.001, 2.0 | с точкой, даже если целое (2.0) | Числа с плавающей запятой. Всегда пишутся с точкой, а не запятой! Иначе будет ошибка. |
Строка (str) | "Привет", 'Мир', "" | в одинарных ' ' или двойных " " кавычках | Любой текст. Даже "123" — это не число, а текст! Строки можно склеивать, но не складывать арифметически. |
Логическое значение (bool) | True, False | только так, с большой буквы | Ответы на вопросы «да/нет», «верно/неверно». Нужны для принятия решений. |
Обратите внимание:
🔹 42 и "42" — разные вещи.
🔹 5 + 3 даёт 8, а "5" + "3" даёт "53" — потому что + для строк означает склейку (конкатенация).
Практика: типы в действии
Давайте напишем небольшую программу, которая покажет разницу:
# Числа
возраст = 12
через_пять_лет = возраст + 5
print("Сейчас мне", возраст, "лет.")
print("Через пять лет будет", через_пять_лет)
# Строки
имя = "Анна"
приветствие = "Привет, " + имя + "!"
print(приветствие)
# Ошибка: нельзя сложить число и строку
# print("Мне " + возраст + " лет") # ← так нельзя!
# Правильно — превратить число в строку:
print("Мне " + str(возраст) + " лет") # str() — "сделай строкой"
Здесь важный момент — функция str(). Она преобразует значение в строку. Аналогично есть int() (в целое число) и float() (в дробное). Это называется приведение типов.
💡 Почему нельзя просто
print("Мне " + возраст + " лет")?
Потому что Python не знает: вы хотите посчитать что-то (5 + 3 = 8) или склеить ("5" + "3" = "53") — и не будет угадывать. Он требует: если склеиваете строки, то все части должны быть строками. Отсюда иstr(возраст).
Ввод от пользователя: функция input()
До сих пор программа сама решала, что выводить. Но настоящие программы взаимодействуют с человеком. Для этого есть функция input() — она ожидает, пока пользователь что-то наберёт и нажмёт Enter.
Пример:
имя = input("Как тебя зовут? ")
print("Приятно познакомиться,", имя + "!")
Что происходит:
- На экране появляется вопрос:
Как тебя зовут? - Программа ждёт — курсор мигает.
- Вы вводите, например,
Тимури жмёте Enter. - Слово
"Тимур"помещается в переменнуюимя. - Выполняется
print(...)— и вы видите:
Приятно познакомиться, Тимур!
⚠️ Важно: всё, что возвращает input(), — это строка (str).
Даже если вы введёте 12, это будет "12", а не число 12.
Поэтому, если хотим работать с числом — нужно преобразовать:
возраст = input("Сколько тебе лет? ")
# возраст — строка! нельзя прибавить 5
возраст_число = int(возраст) # превращаем в целое число
через_десять = возраст_число + 10
print("Через десять лет тебе будет", через_десять)
А что, если введут не число? Например, двенадцать?
Тогда int("двенадцать") вызовет ошибку — и программа остановится.
Это не баг, а фича: компьютер честно говорит: «Я не могу превратить это в число». Позже вы научитесь «ловить» такие ошибки и аккуратно на них реагировать — но пока запомните: всегда думайте, какой тип ожидаете от пользователя.
Условия: как программа принимает решения
Иногда нужно, чтобы программа вела себя по-разному в зависимости от ситуации. Например:
- если возраст
<13 — показать «детский» интерфейс; - если ответ на вопрос верный — написать «Молодец!»;
- если температура
>30 — включить кондиционер.
Для этого используется условная конструкция if (от английского if — «если»).
Простой пример:
возраст = int(input("Сколько тебе лет? "))
if возраст < 13:
print("Ты ещё юный исследователь!")
else:
print("Ты уже опытный программист!")
Разберём по частям:
if возраст < 13:— условие. Двоеточие в конце обязательно.- Следующая строка обязательно с отступом (четыре пробела или один таб). Это не прихоть — в Python отступы определяют, какие строки относятся к условию.
else:— «иначе». Тоже с двоеточием и отступом.
Вот как это работает:
- Программа проверяет: правда ли, что
возраст < 13? - Если да — выполняет блок под
if. - Если нет — выполняет блок под
else.
Можно добавить больше вариантов с elif (сокращение от else if — «иначе, если»):
возраст = int(input("Сколько тебе лет? "))
if возраст < 7:
print("Самое время начать с игр-конструкторов!")
elif возраст < 13:
print("Ты в зоне активного роста — пробуй всё!")
elif возраст < 17:
print("Уже можно создавать серьёзные проекты.")
else:
print("Добро пожаловать в мир профессиональной разработки!")
Обратите внимание: проверка идёт сверху вниз, и выполняется только один блок — первый, для которого условие оказалось истинным.
Логические операторы
Условия можно усложнять с помощью:
and— «и»:возраст > 10 and возраст < 15or— «или»:имя == "Анна" or имя == "Мария"not— «не»:not (возраст < 18)— то же, чтовозраст >= 18
Пример:
имя = input("Как тебя зовут? ")
возраст = int(input("Сколько лет? "))
if имя == "Тимур" and возраст == 30:
print("Приветствую, создатель Вселенной IT!")
elif возраст >= 18 or имя == "Админ":
print("Доступ разрешён.")
else:
print("Добро пожаловать в детский клуб программистов!")
Циклы: повторение без копирования
Представьте, что нужно напечатать числа от 1 до 100. Писать print(1), print(2), …, print(100) — долго и скучно. Компьютеры созданы, чтобы повторять — для этого есть циклы.
Цикл while — «пока»
счётчик = 1
while счётчик <= 5:
print("Шаг", счётчик)
счётчик = счётчик + 1 # очень важно: иначе цикл будет бесконечным!
Результат:
Шаг 1
Шаг 2
Шаг 3
Шаг 4
Шаг 5
Как работает:
- Проверяется условие:
счётчик <= 5? - Если да — выполняется тело цикла (всё с отступом).
- После этого — снова условие.
- Цикл останавливается, когда условие становится ложным (
False).
⚠️ Бесконечный цикл — частая ошибка новичков. Если забыть счётчик = счётчик + 1, то условие всегда будет истинным — и программа «зависнет». В IDLE и VS Code можно остановить выполнение через Ctrl+C.
Цикл for и range() — «для каждого»
Для перебора последовательностей (чисел, букв, элементов списка) удобнее for:
for i in range(1, 6):
print("Шаг", i)
range(1, 6) означает: числа от 1 включительно до 6 не включительно → [1, 2, 3, 4, 5].
То есть range(a, b) — это полуоткрытый интервал: a ≤ i < b.
Можно сократить:
range(5)→0, 1, 2, 3, 4range(0, 10, 2)→0, 2, 4, 6, 8(шаг 2)
Пример: обратный отсчёт
for секунда in range(5, 0, -1):
print(секунда)
print("Пуск!")
Вывод:
5
4
3
2
1
Пуск!
Проект: «Викторина по Вселенной IT»
Теперь соберём всё вместе — создадим простую викторину.
print("Добро пожаловать в викторину 'Вселенная IT'!\n")
# Вопрос 1
ответ1 = input("1. Какой язык программирования назван в честь комедийного шоу 'Летающий цирк Монти Пайтона'? ")
if ответ1.lower() == "python": # .lower() — приводит к строчным буквам
print("✅ Верно!")
счёт = 1
else:
print("❌ Нет. Правильный ответ: Python.")
счёт = 0
# Вопрос 2
ответ2 = input("2. Какая команда выводит текст на экран в Python? ")
if ответ2.lower() in ["print", "print()"]:
print("✅ Отлично!")
счёт = счёт + 1
else:
print("❌ Это команда print().")
# Вопрос 3
ответ3 = input("3. Что означает 'IDE'? (Напиши по-русски) ")
if "среда" in ответ3.lower() and "разработки" in ответ3.lower():
print("✅ Точно!")
счёт = счёт + 1
else:
print("❌ Integrated Development Environment — интегрированная среда разработки.")
# Итог
print("\nИгра окончена!")
if счёт == 3:
print("🏆 Ты гуру IT-Вселенной!")
elif счёт == 2:
print("🌟 Хорошо! Почти идеально.")
else:
print("📚 Продолжай учиться — у тебя всё впереди!")
Здесь мы использовали:
input()— для ввода;if/elif/else— для проверки;.lower()— чтобы не зависеть от регистра (Python,PYTHON,python— всё равно);in— оператор проверки вхождения (для частичного совпадения);\n— символ новой строки (делает отступ между блоками).
Ошибки и отладка: почему программы «ломаются»
Ошибка в программировании — не провал, а обратная связь. Python пишет сообщения об ошибках (exceptions) настолько подробно, что часто можно сразу понять, где проблема.
Типичные ошибки новичков:
| Ошибка | Пример | Причина |
|---|---|---|
NameError | print(привет) | Переменная привет не определена (нет присваивания). |
SyntaxError | print("Привет" | Пропущена закрывающая кавычка или скобка. |
TypeError | "5" + 10 | Попытка сложить строку и число. |
ValueError | int("три") | Невозможно превратить текст в число. |
Как читать сообщение об ошибке?
Пример:
File "викторина.py", line 7, in <module>
возраст = int(input("..."))
ValueError: invalid literal for int() with base 10: 'двенадцать'
- Указывает файл и строку:
line 7. - Называет тип ошибки:
ValueError. - Объясняет, что именно пошло не так: нельзя превратить
'двенадцать'в число.
👉 Правило отладки:
- Прочитайте последнюю строку сообщения — там суть.
- Посмотрите номер строки — найдите её в коде.
- Подумайте: что я ожидал, и что действительно оказалось в переменной?
Часто помогает временный print() — «подсмотреть» значение перед ошибкой:
ответ = input("Сколько будет 2+2? ")
print("DEBUG: ответ =", repr(ответ)) # repr() покажет кавычки и пробелы
результат = int(ответ)
Если введут " 4 " (с пробелами), repr() покажет ' 4 ', и вы поймёте: нужно убрать пробелы с помощью .strip() → int(ответ.strip()).
Что дальше? Идеи для самостоятельных проектов
Теперь, когда вы умеете:
- хранить данные в переменных;
- спрашивать пользователя;
- проверять условия;
- повторять действия;
— можно создавать настоящие мини-приложения:
-
Конвертер валют
Ввод: сумма в рублях → вывод: в долларах и евро (по текущему курсу, пусть пока фиксированному). -
Генератор паролей
Спрашивает длину → выводит случайный набор букв и цифр (используемimport random,random.choice("abc123")). -
Камень-ножницы-бумага
Компьютер выбирает случайно → сравнивает с выбором игрока → выводит победителя. -
"Чёрный ящик"
Программа загадывает число от 1 до 100 → игрок угадывает → программа говорит «больше» или «меньше» → пока не попадёт. -
Дневник настроения
Ввод:1(плохо),2(нормально),3(отлично) → сохраняет в файл (позже научимся), строит простую статистику.
Каждый из этих проектов — ступенька к пониманию: как из маленьких кирпичиков строится большая программа.
Краткий словарь терминов (для закрепления)
| Термин | Простое объяснение |
|---|---|
| Переменная | Коробочка с именем, в которую можно класть значение и доставать его позже. |
| Тип данных | Вид содержимого коробочки: число, текст, да/нет. |
| Преобразование типов | Перекладывание из одной коробки в другую: число → текст (str), текст → число (int). |
Условие (if) | Разветвление дороги: если так — иди направо, иначе — налево. |
Цикл (for, while) | Автоматический повторитель: делай это N раз или пока условие истинно. |
| Ошибка (exception) | Сигнал: «я не могу выполнить это действие». Не страшно — это подсказка. |
| Отладка | Процесс поиска и исправления ошибок. Как расследование: собираем улики (print), проверяем гипотезы. |
Часть 3. Код как конструктор: функции и структуры данных
В предыдущих частях вы писали линейные программы: одна команда за другой. Это как собирать машину из конструктора, кладя детали друг на друга по инструкции в один проход. Но что, если вы захотите построить две одинаковые машины? Переписывать всю инструкцию снова? Нет — вы скажете: «повтори шаги 5–12». В программировании это называется функция.
Что такое функция?
Функция — это именованный блок кода, который можно вызвать по имени, передав ему нужные данные и получив результат.
Аналогия:
Представьте, что у вас есть инструкция «Сделать бутерброд»:
- Возьми хлеб.
- Намажь маслом.
- Положи сыр.
- Накрой вторым ломтиком.
Эта инструкция — функция. Вы можете вызвать её трижды: «Сделай бутерброд» → «Сделай бутерброд» → «Сделай бутерброд» — и получить три бутерброда. А если захотите вместо сыра — ветчину? Передадите параметр: «Сделай бутерброд с ветчиной».
Простейшая функция без параметров
def приветствие():
print("Привет!")
print("Добро пожаловать в Вселенную IT!")
# Вызов функции
приветствие()
приветствие()
def— сокращение от define («определить»).приветствие— имя функции (должно быть понятным и описательным).()— скобки обязательны, даже если параметров нет.- Тело функции — с отступом (четыре пробела).
- После определения функцию нужно вызвать, иначе она не выполнится.
Функция с параметром
def приветствие_по_имени(имя):
print("Привет,", имя + "!")
print("Рады тебя видеть!")
приветствие_по_имени("Анна")
приветствие_по_имени("Борис")
Здесь имя — параметр (переменная внутри функции), а "Анна" — аргумент (конкретное значение, переданное при вызове).
Функция, возвращающая результат
До сих пор функции только выводили что-то. Но часто нужно, чтобы функция посчитала и вернула значение — как калькулятор.
def площадь_квадрата(сторона):
результат = сторона * сторона
return результат # ключевое слово return
s1 = площадь_квадрата(5)
s2 = площадь_квадрата(10)
print("Площади:", s1, "и", s2) # → 25 и 100
Можно упростить:
def площадь_квадрата(a):
return a * a
💡 Важно:
- После
returnфункция немедленно завершается. - Функция может возвращать любое значение: число, строку, даже список или словарь (об этом — дальше).
- Если
returnнет, функция возвращаетNone(специальное значение «ничего»).
Списки: когда одной переменной недостаточно
Представьте, что вы хотите хранить имена всех участников кружка. Можно сделать так:
участник1 = "Анна"
участник2 = "Борис"
участник3 = "Вика"
Но если участников 30? А если их число меняется? Это неудобно.
Список (list) — это упорядоченный набор значений, хранящийся в одной переменной. Элементы нумеруются с нуля (это важно!).
Создание и обращение
имена = ["Анна", "Борис", "Вика", "Глеб"]
print(имена[0]) # → "Анна"
print(имена[2]) # → "Вика"
print("Всего участников:", len(имена)) # len() — длина списка
Изменение списка
Списки — изменяемые (mutable), то есть их можно дополнять и менять:
# Добавить в конец
имена.append("Даша")
# Вставить на позицию 1
имена.insert(1, "Женя") # теперь: ["Анна", "Женя", "Борис", ...]
# Заменить элемент
имена[0] = "Анна-Мария"
# Удалить по значению
имена.remove("Борис")
# Удалить по индексу
del имена[2]
Перебор списка — for в действии
for имя in имена:
print("Привет,", имя + "!")
Это работает так: переменная имя поочерёдно принимает каждое значение из списка.
Словари: когда нужно искать по названию, а не по номеру
Списки удобны, когда порядок важен. Но что, если вы хотите хранить информацию о человеке: имя, возраст, хобби? И получать данные по смыслу — не «элемент 2», а «возраст»?
Для этого — словарь (dict): набор пар ключ → значение.
анна = {
"имя": "Анна",
"возраст": 12,
"хобби": ["рисование", "программирование"],
"класс": "6Б"
}
print(анна["имя"]) # → "Анна"
print(анна["возраст"]) # → 12
print(анна["хобби"][0]) # → "рисование" (первое хобби)
Преимущества словарей:
- Доступ по понятному имени, а не по номеру.
- Гибкость: можно добавлять новые поля.
- Вложенность: значения могут быть списками, другими словарями и т.д.
Пример: список участников как список словарей:
участники = [
{"имя": "Анна", "возраст": 12},
{"имя": "Борис", "возраст": 13},
{"имя": "Вика", "возраст": 11}
]
for человек in участники:
print(человек["имя"], "—", человек["возраст"], "лет")
Работа с файлами: сохраняем результаты навсегда
До сих пор все данные исчезали после закрытия программы. Но настоящие программы умеют читать и писать файлы — как блокнот, только автоматически.
Запись в файл
with open("дневник.txt", "w", encoding="utf-8") as файл:
файл.write("Сегодня я научился писать функции!\n")
файл.write("Это мой первый шаг в программировании.\n")
with open(...)— «открой файл и автоматически закрой, даже если будет ошибка»."w"— режим записи (write). Если файл был — он перезапишется.encoding="utf-8"— обязательно для русского текста.\n— символ новой строки.
Чтение из файла
with open("дневник.txt", "r", encoding="utf-8") as файл:
содержимое = файл.read()
print(содержимое)
"r"— режим чтения (read), по умолчанию.
Построчное чтение (для больших файлов)
with open("имена.txt", "r", encoding="utf-8") as файл:
for строка in файл:
строка = строка.strip() # убираем \n в конце
print("Привет,", строка + "!")
💡 Почему
strip()?
Потому чтоreadline()иfor строка in файлсохраняют символ перевода строки (\n) в конце.strip()удаляет пробелы и\nпо краям.
Черепашья графика (turtle): рисуем кодом
Python включает встроенную библиотеку turtle — виртуальную «черепашку», которая ползает по экрану и оставляет след. Это — один из самых удачных способов увидеть результат своих команд визуально.
Простейший пример
import turtle
черепаха = turtle.Turtle() # создаём черепашку
черепаха.forward(100) # вперёд на 100 пикселей
черепаха.right(90) # повернуть направо на 90°
черепаха.forward(100)
turtle.done() # оставить окно открытым
Результат — прямой угол (две стороны квадрата).
Цикл + графика = квадрат
import turtle
t = turtle.Turtle()
for i in range(4):
t.forward(100)
t.right(90)
turtle.done()
Цвет, скорость, заливка
import turtle
t = turtle.Turtle()
t.speed(5) # от 1 (медленно) до 10 (быстро); 0 — мгновенно
t.color("blue") # цвет линии
t.fillcolor("yellow") # цвет заливки
t.begin_fill() # начать заливку
for _ in range(3): # _ — имя, когда значение не нужно
t.forward(120)
t.left(120)
t.end_fill() # закончить заливку
turtle.done()
Получится жёлтый треугольник с синими краями.
💡 Почему
t?
Это сокращение — как «ручка» (pen) или «инструмент». Можно писатьt,pen,turtle1— главное, чтобы было понятно.
Идеи для проектов с turtle:
- Узоры (спирали, звёзды, цветы);
- Простая анимация: солнце → движущееся солнце;
- Игра «Угадай фигуру»: программа рисует — пользователь называет;
- График настроения за неделю (столбики разной высоты).
От функций — к проектам: как собрать всё вместе
Рассмотрим, как перейти от упражнений к реальному мини-проекту — например, «Дневник настроения».
Этапы разработки:
-
Постановка задачи:
— Спрашивать настроение раз в день (1–5 баллов).
— Сохранять в файл.
— Выводить среднее и график за неделю. -
Разбиение на функции:
спросить_настроение()→ возвращает число 1–5.сохранить_в_файл(значение)→ дописывает внастроение.txt.загрузить_данные()→ возвращает список чисел.построить_график(данные)→ рисует черезturtle.
-
Реализация (упрощённая):
# 1. Сбор данных
def спросить_настроение():
while True:
ответ = input("Оцени своё настроение от 1 (плохо) до 5 (отлично): ")
try:
балл = int(ответ)
if 1 <= балл <= 5:
return балл
else:
print("Должно быть от 1 до 5.")
except ValueError:
print("Нужно ввести число!")
# 2. Сохранение
def сохранить_в_файл(балл):
with open("настроение.txt", "a", encoding="utf-8") as f:
f.write(str(балл) + "\n")
# 3. Загрузка
def загрузить_данные():
try:
with open("настроение.txt", "r", encoding="utf-8") as f:
строки = f.readlines()
return [int(s.strip()) for s in строки]
except FileNotFoundError:
return [] # файла ещё нет — пустой список
# 4. Запуск
if __name__ == "__main__":
балл = спросить_настроение()
сохранить_в_файл(балл)
данные = загрузить_данные()
print("Твои оценки за всё время:", данные)
if данные:
среднее = sum(данные) / len(данные)
print(f"Среднее настроение: {среднее:.1f}")
Обратите внимание на:
try/except— защита от ошибок (файл не найден, не число);"a"— режим дописывания (append), не перезаписи;if __name__ == "__main__":— стандартная практика: код запустится, только если файл запущен напрямую, а не импортирован.
Как расти дальше: от «черепашки» к «большим» библиотекам
Python — это не только встроенные возможности. Его сила — в библиотеках: готовых наборах функций, написанных другими программистами.
| Библиотека | Для чего | Пример подключения |
|---|---|---|
random | Случайные числа, выбор элементов | import random |
datetime | Работа с датой и временем | from datetime import datetime |
requests | Запросы в интернет (получить данные с сайта) | import requests |
pygame | Создание игр | import pygame |
matplotlib | Графики и диаграммы | import matplotlib.pyplot as plt |
Установка (в командной строке):
pip install имя_библиотеки
(например, pip install pygame)
⚠️
pip— это менеджер пакетов Python. Он автоматически скачивает и устанавливает библиотеки из открытого хранилища PyPI. Он идёт в комплекте с Python 3.4+.
Полезные привычки начинающего программиста
-
Называйте всё понятно
Неa,b,x1— асредняя_температура,имя_пользователя,количество_шагов. -
Пишите комментарии, но не слишком
Хороший комментарий объясняет почему, а не что.# Плохо: score = score + 1 # увеличиваем счёт на 1
# Хорошо: score = score + 1 # за правильный ответ — +1 балл -
Тестируйте по частям
Написали функцию — сразу проверьте её отдельно, до подключения к остальному коду. -
Делайте резервные копии
Сохраняйте файлы с датой:викторина_2025-11-10.py. Или используйте простую систему контроля версий — даже обычную папкуbackup. -
Не бойтесь «плохого» кода
Первая версия может быть неидеальной. Главное — чтобы работала. Потом — улучшайте.