1.1 Установка и настройка Python
Цель урока
В этом уроке мы установим Python на ваш компьютер и научимся запускать первые программы. Это как подготовка рабочего места перед началом работы — нужно все настроить один раз, и дальше будет легко!
Что мы будем делать:
- Скачаем и установим Python
- Проверим, что все работает
- Запустим первую программу
- Установим удобный редактор кода (опционально, но рекомендуется)
Время: ~15-20 минут
Важно для новичков: Не спешите! Установка — это самая важная часть. Если что-то пойдет не так, вернитесь назад и повторите шаг еще раз. Лучше потратить немного больше времени сейчас, чем иметь проблемы потом.
Установка Python
Python нужно установить на ваш компьютер, как любую другую программу. Процесс отличается для разных операционных систем, но мы пройдем через каждую пошагово.
Windows (пошаговая инструкция)
Шаг 1: Скачивание Python
- Откройте браузер и перейдите на python.org/downloads
- Нажмите на большую желтую кнопку "Download Python 3.x.x" (где x.x — последняя версия)
- Дождитесь завершения загрузки файла (обычно называется python-3.x.x.exe)
Шаг 2: Установка Python
- Найдите скачанный файл (обычно в папке "Загрузки") и запустите его двойным кликом
- КРИТИЧЕСКИ ВАЖНО: В самом первом окне установщика в самом низу поставьте галочку "Add python.exe to PATH"
- Нажмите "Install Now" (рекомендуется для новичков)
- Если появится окно контроля учетных записей (UAC), нажмите "Да"
- Дождитесь завершения установки (обычно 2-3 минуты)
- Когда увидите "Setup was successful", нажмите "Close"
Частая ошибка новичков: Многие забывают поставить галочку "Add python.exe to PATH"! Без этого Python не будет работать из командной строки. Если вы забыли это сделать, придется переустановить Python заново.
Что такое PATH? Простыми словами, это список мест, где компьютер ищет программы. Если Python не в PATH, компьютер его "не видит".
Шаг 3: Проверка установки
- Нажмите Win + R (или кнопку Пуск)
- Введите
cmdи нажмите Enter — откроется командная строка (черное окно) - Введите команду ниже и нажмите Enter:
# Проверка версии Python
python --version
# Что вы должны увидеть:
# Python 3.11.x (или Python 3.12.x)
# Если видите это - отлично! Python установлен правильно!
Если вы видите ошибку: "'python' не является внутренней или внешней командой..."
Решение:
- Вы забыли поставить галочку "Add Python to PATH" при установке
- Удалите Python через "Панель управления" → "Программы и компоненты"
- Установите заново, НЕ ЗАБУДЬТЕ про галочку "Add python.exe to PATH"!
macOS
В macOS Python может быть уже установлен, но лучше установить новую версию:
- Скачайте Python с python.org/downloads
- Откройте скачанный .pkg файл и следуйте инструкциям
# Верификация успешной установки в терминале macOS
python3 --version
# Ожидаемый результат: Python 3.11.x
Linux
В большинстве дистрибутивов Linux Python уже установлен. Проверьте версию:
# Проверка версии Python
python3 --version
Если Python отсутствует или требуется обновление, используйте пакетный менеджер вашего дистрибутива:
# Ubuntu/Debian
sudo apt update
sudo apt install python3 python3-pip
# Fedora
sudo dnf install python3 python3-pip
# Arch Linux
sudo pacman -S python python-pip
Первый запуск Python — создадим вашу первую программу!
Теперь самое интересное — давайте запустим Python и напишем первую команду! У нас есть два способа работать с Python:
Способ 1: Интерактивный режим (Python как калькулятор)
Это как чат с Python — вы пишете команду, он сразу отвечает. Отлично подходит для экспериментов и быстрой проверки идей!
Как запустить интерактивный режим:
- Откройте командную строку (Win + R, введите
cmd, нажмите Enter) - Введите
pythonи нажмите Enter - Вы увидите три стрелочки
>>>— это значит, что Python готов к работе!
# В командной строке введите:
python
# Что вы увидите:
# Python 3.11.x (дата и время)
# Type "help", "copyright" и т.д.
# >>>
# Три стрелочки >>> означают: "Я слушаю, вводи команду!"
Давайте попробуем! Введите эти команды по очереди:
# Команда 1: Приветствие
>>> print("Привет, мир!")
Привет, мир!
# Поздравляю! Вы только что написали свою первую программу на Python!
# Команда 2: Простая математика
>>> 2 + 3
5
# Команда 3: Посложнее
>>> 10 * 5 + 2
52
# Команда 4: Работа с текстом
>>> "Привет, " + "Python!"
'Привет, Python!'
# Команда 5: Выход из интерактивного режима
>>> exit()
# Или нажмите Ctrl + Z и Enter (Windows) / Ctrl + D (Mac/Linux)
Что происходит?
>>>— это приглашение ввода (prompt). Python ждет вашей командыprint("Привет, мир!")— команда, которую вы вводитеПривет, мир!— результат выполнения команды
Интерактивный режим отлично подходит для экспериментов, но для настоящих программ мы будем использовать файлы!
Способ 2: Создание Python-файла (настоящая программа!)
Интерактивный режим — это хорошо для экспериментов, но настоящие программы мы сохраняем в файлы. Так их можно запускать много раз и делиться с другими!
Создаем вашу первую программу (пошагово):
Шаг 1: Создаем файл
- Откройте Блокнот (Notepad) — нажмите Win + R, введите
notepad, нажмите Enter - Напишите в блокноте ровно это:
print("Привет, мир!")
print("Это моя первая программа на Python!")
print("Я научусь программировать!")
Шаг 2: Сохраняем файл правильно
- Нажмите "Файл" → "Сохранить как..."
- В поле "Имя файла" напишите:
hello.py - Важно! В выпадающем списке "Тип файла" выберите "Все файлы (*.*)"
- Сохраните файл на Рабочий стол (Desktop) — так его будет легко найти
Типичная ошибка новичков: Если вы не выберете "Все файлы", Блокнот сохранит файл как hello.py.txt, а не hello.py, и Python его не запустит!
Как проверить: После сохранения посмотрите на иконку файла на Рабочем столе. Если видите иконку Python (змея) — все правильно! Если видите иконку блокнота — файл сохранен неправильно.
Шаг 3: Запускаем программу!
- Откройте командную строку (Win + R, введите
cmd, нажмите Enter) - Перейдите на Рабочий стол, введя эту команду:
# В командной строке введите (и нажмите Enter):
cd Desktop
# cd = "change directory" (сменить папку)
# Теперь вы находитесь на Рабочем столе
- Запустите вашу программу:
# Введите эту команду:
python hello.py
# Что вы должны увидеть:
# Привет, мир!
# Это моя первая программа на Python!
# Я научусь программировать!
# ПОЗДРАВЛЯЮ! Вы создали и запустили настоящую программу!
Что вы только что сделали?
- Создали файл с кодом на Python (
hello.py) - Сохранили его в правильном формате
- Запустили программу из командной строки
- Увидели результат работы программы
Теперь вы официально программист Python!
Что делать, если ничего не работает?
Ошибка: "python: команда не найдена" или "python is not recognized"
- Python не установлен или не добавлен в PATH
- Вернитесь к разделу "Установка Python" и переустановите с галочкой "Add Python to PATH"
Ошибка: "No such file or directory" или "Не удается найти путь"
- Файл
hello.pyне находится там, где вы думаете - Убедитесь, что вы в командной строке перешли на Рабочий стол (
cd Desktop) - Проверьте, что файл действительно на Рабочем столе
Ошибка: "SyntaxError" или какая-то другая
- Возможно, вы допустили опечатку в коде
- Проверьте, что скопировали код точно так, как написано в примере
- Обратите внимание на кавычки — они должны быть обычными (""), не «»
Установка IDE
Для удобной разработки рекомендуется использовать специальную среду:
- Visual Studio Code — современный редактор с поддержкой Python. Идеален для начинающих.
- PyCharm — профессиональная среда для Python-разработки.
- Jupyter Notebook — интерактивная среда для анализа данных и обучения.
Настройка Visual Studio Code для Python
- Установите VS Code с официального сайта
- Откройте VS Code и нажмите Ctrl+Shift+X
- Найдите и установите расширение "Python" от Microsoft
- Дополнительно установите "Pylance" для улучшенной поддержки языка
Профессиональный совет: VS Code предоставляет множество инструментов для повышения продуктивности Python-разработчика, включая интеллектуальное автодополнение кода, встроенный отладчик, интеграцию с системами контроля версий, линтеры и форматтеры кода. Инвестирование времени в изучение этих возможностей существенно ускорит ваш рабочий процесс и повысит качество кода.
Практическое задание для новичков: Ваша визитная карточка
Давайте создадим программу, которая выводит информацию о вас! Это будет ваша первая практическая работа.
Что нужно сделать:
- Создайте новый файл
my_card.py(моя визитка) - Напишите программу, которая выводит:
- Ваше имя
- Ваш возраст
- Ваше хобби или интересы
- Почему вы решили изучать Python
- Запустите программу и проверьте результат
Пример того, как должна выглядеть ваша программа:
# Файл: my_card.py
# Это моя первая практическая программа!
print("=" * 40) # Рисуем линию из 40 знаков =
print(" МОЯ ВИЗИТНАЯ КАРТОЧКА")
print("=" * 40)
print() # Пустая строка для красоты
print("Привет! Меня зовут Алексей")
print("Мне 25 лет")
print("Я увлекаюсь музыкой и фотографией")
print("Я изучаю Python, потому что хочу создавать полезные программы!")
print()
print("=" * 40)
Когда вы запустите эту программу, вы увидите:
========================================
МОЯ ВИЗИТНАЯ КАРТОЧКА
========================================
Привет! Меня зовут Алексей
Мне 25 лет
Я увлекаюсь музыкой и фотографией
Я изучаю Python, потому что хочу создавать полезные программы!
========================================
Подсказки:
print()без аргументов создает пустую строкуprint("=" * 40)выводит символ=40 раз подряд- Вы можете менять текст между кавычками на любой свой!
- Попробуйте добавить больше строк или изменить оформление
Экспериментируйте! Попробуйте:
- Изменить символ для линии (вместо
=попробуйте-или*) - Добавить больше информации о себе
- Использовать другие символы для украшения
Показать решение (только если совсем не получается!)
# Решение задачи - файл my_card.py
print("=" * 40)
print(" МОЯ ВИЗИТНАЯ КАРТОЧКА")
print("=" * 40)
print()
print("Привет! Меня зовут [ВАШЕ ИМЯ]")
print("Мне [ВАШ ВОЗРАСТ] лет")
print("Я увлекаюсь [ВАШИ УВЛЕЧЕНИЯ]")
print("Я изучаю Python, потому что [ВАША ПРИЧИНА]!")
print()
print("=" * 40)
# Замените текст в квадратных скобках на свои данные!
Поздравляю! Когда вы выполните это задание, вы освоите:
- Создание файлов с кодом Python
- Использование команды
print() - Повторение символов с помощью
* - Запуск своих программ
1.2 Синтаксис и переменные
Основные элементы синтаксиса Python
Синтаксис — это набор правил, по которым нужно писать код, чтобы компьютер понял что вы от него хотите. Простыми словами: это как грамматика в русском языке — есть правила, как составлять предложения, чтобы они были понятны.
Python придумали так, чтобы код было легко читать и писать. Здесь используются простые отступы (пробелы в начале строки) — это делает код чистым и понятным даже для новичков!
Отступы и блоки кода
Отступ — это пробелы в начале строки кода. Простыми словами: когда вы нажимаете клавишу пробел или Tab в начале строки — это отступ. В Python отступы очень важны — они показывают, какие строки связаны между собой.
Блок кода — это группа строк кода, которые выполняются вместе. Простыми словами: это как абзац в тексте — несколько связанных предложений, которые относятся к одной теме.
В Python отступы определяют структуру кода. Они показывают, какие строки кода работают вместе как одна группа.
Важно для новичков: В следующем примере вы увидите слово if — это команда для проверки условий. Мы подробно изучим её позже! Сейчас главное — понять, как работают отступы. Просто посмотрите на пример и запомните: строки с отступом — это группа, которая относится к команде выше.
# Правильное использование отступов (так нужно делать!)
if True: # Это главная команда (пока не важно что она значит)
print("Эта строка с отступом — она в группе") # 4 пробела в начале
print("Эта тоже с отступом — тоже в группе") # 4 пробела в начале
print("А эта БЕЗ отступа — она отдельно") # Без пробелов в начале
# Неправильное использование отступов (так делать НЕЛЬЗЯ!)
if True: # Главная команда
print("Ошибка! Нет отступа, хотя должен быть") # Python выдаст ошибку IndentationError
Как делать отступы правильно:
- Используйте 4 пробела для каждого уровня отступа
- Можно нажать клавишу Tab — большинство редакторов автоматически заменят её на 4 пробела
- Не смешивайте табуляцию и пробелы — выберите что-то одно!
- В VS Code и других редакторах отступы делаются автоматически — просто нажимайте Enter после строки с двоеточием
:
IndentationError — это ошибка отступа. Простыми словами: Python ругается, что вы неправильно поставили пробелы в начале строки. Если видите эту ошибку — проверьте отступы!
Комментарии
Комментарий — это текст в коде, который Python не выполняет. Простыми словами: это заметки для себя и других программистов. Как если бы вы писали рецепт и добавляли пометки "это для праздничного варианта" или "можно заменить на другой ингредиент".
Комментарии помогают объяснить, что делает код. Python их просто пропускает — они только для людей, которые читают код.
# Комментарий начинается с символа решётки #
# Python видит # и игнорирует всё, что после неё до конца строки
# Это удобно для пояснений в коде!
# Выведем приветствие
print("Привет, мир!") # Комментарий можно писать и после кода в той же строке
# Вычислим сумму
result = 10 + 20 # Складываем 10 и 20, результат сохраняем в переменную result
"""
Если нужно написать длинный комментарий на несколько строк,
используйте три кавычки в начале и в конце.
Это называется многострочный комментарий.
Он удобен для длинных пояснений.
"""
print("Комментарии никак не влияют на работу программы!") # Программа работает как обычно
Когда использовать комментарии:
- Объяснить сложный код — если через месяц вы сами не поймете что тут написано, добавьте комментарий!
- Пометить важные моменты — "ВНИМАНИЕ: здесь нельзя менять значение!"
- Временно отключить код — поставьте # перед строкой, и она не будет выполняться
- Не переборщите! — не нужно комментировать очевидные вещи:
# Выводим приветпередprint("привет")избыточен
Переменные и присваивание — ваши коробочки для хранения данных
Переменные в Python — это как волшебные коробочки, в которые вы складываете разные данные. И что круто — Python сам понимает, что вы туда положили, без лишних указаний с вашей стороны!
Аналогия с коробками (очень важно понять!):
Представьте, что у вас есть коробки с этикетками:
- Коробка с надписью "age" → внутри число 25
- Коробка с надписью "name" → внутри текст "Анна"
- Коробка с надписью "is_student" → внутри значение "да" (True)
В программировании:
- Этикетка на коробке = Имя переменной
- Содержимое коробки = Значение переменной
- Замена содержимого = Изменение значения
Простыми словами: Когда вы пишете age = 25, вы говорите Python: "Возьми коробку с надписью 'age' и положи туда число 25". Python автоматически понимает, что 25 — это число, а не текст!
Главное преимущество: В других языках нужно сначала объявить тип коробки ("это коробка для чисел", "это коробка для текста"). В Python достаточно просто положить что-то в коробку — Python сам поймет!
# Создаем переменную name и кладем туда текст "Алексей"
# Знак = означает "положи значение справа в переменную слева"
name = "Алексей" # Текст всегда в кавычках! Это называется "строка" (string, str)
# Создаем переменную age и кладем туда число 25
age = 25 # Число БЕЗ кавычек! Это целое число (integer, int)
# Создаем переменную height и кладем туда число с дробной частью
height = 1.85 # Число с точкой — это число с плавающей точкой (float)
# Создаем переменную is_student и кладем туда True (правда/истина)
is_student = True # True или False — это логический тип (boolean, bool)
# Теперь выведем все значения на экран
# print() показывает, что внутри переменной
print(name) # Покажет: Алексей
print(age) # Покажет: 25
print(height) # Покажет: 1.85
print(is_student) # Покажет: True
# Можем изменить значение переменной — просто присвоим новое!
age = 26 # Теперь в age лежит 26 вместо 25
print("Обновленный возраст:", age) # Покажет: Обновленный возраст: 26
Почему убрали f-строки? В оригинале был код print(f"Обновленный возраст: {age}"). F-строки — это продвинутая возможность, мы изучим её чуть позже. Сейчас используем простой способ: print("текст", переменная).
Правила именования переменных
У переменных есть имена (этикетки на наших коробочках). Давайте узнаем, какие имена можно использовать, а какие нельзя!
Простые правила для имен:
- Можно: латинские буквы (a-z, A-Z), цифры (0-9), подчеркивание (_)
- Нельзя: начинать с цифры
- Нельзя: использовать пробелы и дефисы (-)
- Нельзя: использовать специальные слова Python (if, for, print и другие)
- Важно:
nameиName— это РАЗНЫЕ переменные! Python различает большие и маленькие буквы
# ПРАВИЛЬНЫЕ имена переменных (так можно делать)
user_name = "John" # Слова разделены подчеркиванием — отлично!
age1 = 30 # Цифра в конце — можно!
age_2 = 31 # Цифра после подчеркивания — тоже можно!
_private = "Секрет" # Начинается с подчеркивания — разрешено
firstName = "Иван" # Большая буква в середине — работает
my_super_long_variable_name = "Длинное имя — тоже ОК"
# НЕПРАВИЛЬНЫЕ имена переменных (так делать НЕЛЬЗЯ!)
# 1name = "Ошибка" # Начинается с цифры — Python выдаст ошибку!
# my-var = 10 # Дефис запрещен! Используйте подчеркивание: my_var
# my var = 10 # Пробел запрещен! Используйте: my_var
# if = "Ошибка" # if — специальное слово Python, нельзя использовать!
# for = "Ошибка" # for — тоже специальное слово!
# ВАЖНО: Это РАЗНЫЕ переменные! Python различает регистр букв
name = "Маша" # Маленькая n
Name = "Петя" # Большая N — это уже другая переменная!
print(name) # Выведет: Маша
print(Name) # Выведет: Петя
Советы по выбору имен:
- Используйте понятные имена:
ageлучше чемa,user_nameлучше чемun - Используйте английский:
ageвместоvozrast(но для учебы можно и русскими буквами) - Для обычных переменных: все маленькими буквами с подчеркиванием:
my_variable - Будьте последовательны: если начали писать
user_name, то и дальше пишитеuser_age, а неuserAge
Несколько переменных одновременно (можете пропустить пока!)
Для любопытных: Этот раздел показывает продвинутые возможности. Если вам пока сложно — пропустите! К этому можно вернуться позже, когда освоите основы.
В Python можно создавать сразу несколько переменных в одной строке. Это удобный "трюк", но не обязательный для изучения прямо сейчас.
# Способ 1: Присвоить одно и то же значение нескольким переменным
x = y = z = 0 # Все три переменные получают значение 0
print(x, y, z) # Выведет: 0 0 0
# Простыми словами: создали 3 коробки (x, y, z) и в каждую положили 0
# Способ 2: Присвоить разные значения нескольким переменным сразу
a, b, c = 1, 2, 3 # a получает 1, b получает 2, c получает 3
print(a, b, c) # Выведет: 1 2 3
# Простыми словами: создали 3 коробки и в каждую положили своё число
# Способ 3: Обменять значения двух переменных местами
a = 10 # a = 10
b = 20 # b = 20
print("До обмена:", a, b) # До обмена: 10 20
a, b = b, a # Меняем местами! a получает значение b, b получает значение a
print("После обмена:", a, b) # После обмена: 20 10
# Это как поменять содержимое двух коробок местами — в Python это делается легко!
Когда это пригодится:
- Обмен значений — очень удобно в играх и алгоритмах
- Распаковка данных — когда функция возвращает несколько значений (изучим позже)
- Для начинающих: можете пока не использовать эти трюки, пишите обычно:
x = 0, потомy = 0
Типы данных
Тип данных — это вид информации, которую можно хранить в переменной. Простыми словами: это как категории вещей — одежда, еда, книги. В программировании есть категории данных: числа, текст, правда/ложь и другие. Каждая категория (тип) имеет свои особенности.
Python автоматически определяет тип данных, когда вы создаете переменную. Вам не нужно ничего специально указывать — Python сам поймет!
Основные типы данных в Python:
- int (integer) — целые числа: 1, 42, -17, 1000
- float (floating point) — числа с дробной частью: 3.14, -0.5, 99.99
- str (string) — текст (строка): "Привет", "Python", "123" (да, текст "123" это не число!)
- bool (boolean) — правда или ложь: True, False
- None (NoneType) — "ничего", пустое значение
# Создаем переменные разных типов
number = 42 # Целое число (int) — без кавычек, без точки
pi = 3.14159 # Число с точкой (float) — для дробных чисел
name = "Python" # Текст в кавычках (str) — строка
is_active = True # Логическое значение (bool) — только True или False
nothing = None # Пустое значение (None) — когда ничего нет
# Как узнать тип переменной? Используем функцию type()
print(type(number)) # Выведет: — это целое число
print(type(pi)) # Выведет: — число с точкой
print(type(name)) # Выведет: — строка (текст)
print(type(is_active)) # Выведет: — логический тип
print(type(nothing)) # Выведет: — пустое значение
# Посмотрим на значения переменных
print(number) # Выведет: 42
print(pi) # Выведет: 3.14159
print(name) # Выведет: Python
print(is_active) # Выведет: True
print(nothing) # Выведет: None
Как отличить типы:
- Целое число (int):
42— без кавычек, без точки - Дробное число (float):
3.14— есть точка! - Текст (str):
"42"— в кавычках! Это текст "42", не число - Логика (bool):
TrueилиFalse— с большой буквы, без кавычек - Пустота (None):
None— когда значения пока нет
Преобразование типов
Преобразование типов — это превращение данных из одного типа в другой. Простыми словами: это как перевод с одного языка на другой. Например, превратить текст "25" в число 25, или число 100 в текст "100".
Зачем это нужно? Потому что Python не может делать некоторые операции, если типы данных не подходят. Например:
- Нельзя сложить текст и число:
"25" + 5— ошибка! - Нужно сначала превратить текст в число:
int("25") + 5— работает!
Основные функции преобразования:
- int() — превращает в целое число
- float() — превращает в дробное число
- str() — превращает в текст (строку)
- bool() — превращает в True или False
# Проблема: input() всегда даёт ТЕКСТ!
age_text = "25" # Это текст "25", не число 25
# print(age_text + 5) # ОШИБКА! Нельзя складывать текст и число!
# Решение: превратить текст в число
age_number = int(age_text) # int() превращает текст "25" в число 25
print(age_number + 5) # Работает! 25 + 5 = 30
# Еще пример с input()
# age = input("Ваш возраст: ") # Пользователь вводит 20
# print(age + 1) # ОШИБКА! age это текст "20", не число!
# Правильно:
# age = int(input("Ваш возраст: ")) # Сразу превращаем в число!
# print(age + 1) # 20 + 1 = 21
# Превращаем дробное число в целое
price = 19.99 # Дробное число
price_whole = int(price) # int() отрезает всё после точки!
print(price_whole) # Выведет: 19 (не 20! Не округляет, а просто отрезает .99)
# Превращаем число в текст (чтобы склеить с другим текстом)
count = 100 # Число
count_text = str(count) # str() превращает число 100 в текст "100"
message = "У вас " + count_text + " сообщений" # Склеиваем тексты
print(message) # Выведет: У вас 100 сообщений
# Альтернатива: можно использовать запятую в print() (проще!)
print("У вас", count, "сообщений") # Тоже выведет: У вас 100 сообщений
# Превращаем в True/False
number1 = 1 # Любое число кроме 0
result1 = bool(number1) # bool() превращает в True или False
print(result1) # Выведет: True (не ноль = True)
number2 = 0 # Ноль
result2 = bool(number2) # Ноль превращается в False!
print(result2) # Выведет: False
text1 = "Привет" # Непустой текст
print(bool(text1)) # Выведет: True (есть текст = True)
text2 = "" # Пустой текст (пустые кавычки)
print(bool(text2)) # Выведет: False (пусто = False)
Важно: Не всё можно превратить во всё!
int("25")— работает, превратит текст "25" в число 25int("привет")— ошибка! Слово "привет" нельзя превратить в числоint("100")— работаетint("10.5")— ошибка! У int() не может быть точки. Используйтеfloat("10.5")
ValueError — это ошибка преобразования. Простыми словами: Python говорит "я не могу это превратить, это невозможно!"
Ввод и вывод данных
Функция print()
Функция print() — выводит информацию на экран (в консоль). Простыми словами: это команда "покажи это пользователю". Всё, что вы напишете внутри скобок print(), появится на экране.
# Самое простое использование — выводим текст
print("Привет, мир!") # Выведет на экран: Привет, мир!
# Выводим число
print(42) # Выведет: 42
# Выводим несколько вещей сразу (через запятую)
name = "Анна" # Создаем переменную с именем
age = 28 # Создаем переменную с возрастом
print("Имя:", name, "Возраст:", age) # Выведет: Имя: Анна Возраст: 28
# Python автоматически ставит пробелы между элементами!
# Выводим только переменные
print(name, age) # Выведет: Анна 28
# Пустой print() выводит пустую строку (перенос строки)
print("Строка 1")
print() # Пустая строка
print("Строка 3")
# Выведет:
# Строка 1
# (пустая строка)
# Строка 3
Продвинутые возможности print() (можно пропустить пока!):
Это дополнительные возможности. Если сложно — пропустите, вернетесь позже!
# F-строки — удобный способ вставить переменные в текст
name = "Мария"
age = 25
print(f"Привет, {name}! Вам {age} лет.")
# f перед кавычками означает "форматированная строка"
# {name} заменится на значение переменной name
# Выведет: Привет, Мария! Вам 25 лет.
# Можно менять разделитель между элементами
# По умолчанию разделитель — пробел
# sep= позволяет изменить это
print("Яблоко", "Банан", "Апельсин") # Выведет: Яблоко Банан Апельсин (пробелы)
print("Яблоко", "Банан", "Апельсин", sep=" | ") # Выведет: Яблоко | Банан | Апельсин
# Можно изменить что будет в конце строки
# По умолчанию print() в конце переходит на новую строку
# end= позволяет изменить это
print("Строка 1") # После вывода переходит на новую строку
print("Строка 2") # Поэтому это выведется ниже
# Результат:
# Строка 1
# Строка 2
print("Строка 1", end=" --> ") # Вместо перехода на новую строку поставит " --> "
print("Строка 2") # И это выведется на той же строке!
# Результат: Строка 1 --> Строка 2
Функция input()
Функция input() — запрашивает данные у пользователя. Простыми словами: программа задает вопрос, ждет ответа, и сохраняет этот ответ в переменную. Это делает программу интерактивной — она "общается" с пользователем!
# Запрашиваем имя у пользователя
name = input("Введите ваше имя: ")
# Программа показывает вопрос: "Введите ваше имя: "
# Программа ждет, пока пользователь введет ответ и нажмет Enter
# Ответ сохраняется в переменную name
# Теперь используем то, что пользователь ввел
print("Здравствуйте,", name, "!") # Если ввели "Мария", выведет: Здравствуйте, Мария !
# Еще пример
favorite_color = input("Какой ваш любимый цвет? ") # Спрашиваем цвет
print("Отличный выбор!", favorite_color, "— красивый цвет!") # Используем ответ
ОЧЕНЬ ВАЖНО: input() ВСЕГДА возвращает ТЕКСТ (строку), даже если пользователь ввел число!
Простыми словами: Если пользователь введет 25, Python сохранит текст "25", а не число 25. Это как разница между словом "двадцать пять" и самим числом 25.
# Проблема: input() всегда дает текст!
age = input("Введите ваш возраст: ")
# Пользователь вводит: 20
# Но age теперь содержит ТЕКСТ "20", а не ЧИСЛО 20!
print(type(age)) # Проверим тип — выведет: (строка, текст!)
# Попробуем прибавить 1 к возрасту
# next_year = age + 1 # ОШИБКА! Нельзя сложить текст "20" и число 1
# Правильное решение: сначала превратить текст в число!
age_number = int(age) # Превращаем текст "20" в число 20
next_year = age_number + 1 # Теперь можно складывать: 20 + 1 = 21
print("В следующем году вам будет", next_year, "лет") # Выведет: В следующем году вам будет 21 лет
# Часто делают так — сразу превращают в число:
age = int(input("Ваш возраст: ")) # input() дает текст, int() сразу превращает в число
print("Через 5 лет вам будет", age + 5, "лет") # Теперь age это число, можно складывать!
Частые ошибки с input():
- Забыли преобразовать в число:
age = input("Возраст: ")+ потомage + 5— ошибка! - Правильно:
age = int(input("Возраст: "))— сразу превращаем в число - Пользователь ввел не число: если спросили возраст, а пользователь ввел "двадцать" —
int()выдаст ошибку! - Проверяйте ввод: Пока просто убедитесь, что в примерах вводите именно числа, когда программа просит число
Практическое задание: Знакомство с пользователем
Создайте программу, которая общается с пользователем и запоминает его данные!
Ваша задача:
Создайте файл hello_user.py, который:
- Спрашивает у пользователя его имя
- Спрашивает его возраст
- Спрашивает его любимый цвет
- Выводит всю информацию красиво оформленной
Как должна работать программа:
# Когда пользователь запустит программу:
Как тебя зовут? Мария
Сколько тебе лет? 20
Какой твой любимый цвет? синий
========================================
ИНФОРМАЦИЯ О ПОЛЬЗОВАТЕЛЕ
========================================
Имя: Мария
Возраст: 20
Любимый цвет: синий
========================================
Подсказка — начало кода:
# Файл: hello_user.py
# Запрашиваем данные у пользователя
name = input("Как тебя зовут? ")
age = input("Сколько тебе лет? ")
color = input("Какой твой любимый цвет? ")
# Выводим красиво оформленную информацию
print() # Пустая строка
print("=" * 40)
print(" ИНФОРМАЦИЯ О ПОЛЬЗОВАТЕЛЕ")
print("=" * 40)
# Допишите остальное сами!
Подсказки:
input()— спрашивает пользователя и сохраняет ответ- Текст в кавычках внутри
input()— это вопрос, который увидит пользователь - Результат сохраняется в переменную слева от
= - Используйте
print()чтобы вывести значение переменной
Бонусное задание (если хотите попробовать):
- Добавьте еще один вопрос (например, "Где ты живешь?")
- Используйте f-строки для более красивого вывода:
print(f"Имя: {name}") - Попробуйте изменить оформление линий (другие символы вместо =)
Показать полное решение
# Файл: hello_user.py
# Запрашиваем данные у пользователя
name = input("Как тебя зовут? ")
age = input("Сколько тебе лет? ")
color = input("Какой твой любимый цвет? ")
# Выводим красиво оформленную информацию
print() # Пустая строка для отступа
print("=" * 40)
print(" ИНФОРМАЦИЯ О ПОЛЬЗОВАТЕЛЕ")
print("=" * 40)
print(f"Имя: {name}")
print(f"Возраст: {age}")
print(f"Любимый цвет: {color}")
print("=" * 40)
# Бонус: можно добавить персонализированное сообщение
print()
print(f"Приятно познакомиться, {name}!")
print(f"{color.capitalize()} — отличный цвет!")
Что вы изучите, выполнив это задание:
- Как получать данные от пользователя с помощью
input() - Как сохранять эти данные в переменные
- Как выводить сохраненные данные
- Как делать программу интерактивной (общающейся с пользователем)
1.3 Типы данных
Основные типы данных в Python
В Python есть разные типы данных для хранения информации. Давайте познакомимся с этими ребятами поближе!
Основные типы данных:
- int (целые числа): 1, 42, -10, 0 — целые числа любого размера, даже огромные. Python автоматически выделяет нужную память.
- float (числа с плавающей точкой): 3.14, -0.001, 2.0 — для вычислений с десятичными дробями. Точность ограничена (~15-17 значащих цифр).
- str (строки): "Привет", 'Python' — неизменяемые последовательности символов. Поддерживают индексацию, срезы и множество методов для обработки текста.
- bool (логические значения): True, False — используются в условиях и логических операциях. Любое ненулевое число или непустая коллекция при преобразовании дает True.
- None: специальное значение, обозначающее отсутствие данных. Часто используется как значение по умолчанию для аргументов функций.
Строковый тип (str)
Строка (string, str) — это текст в кавычках. Простыми словами: любой текст, который вы хотите сохранить или показать пользователю — это строка. "Привет", "Python", "123" (да, даже числа в кавычках становятся текстом!).
Строки можно писать тремя способами:
# Способ 1: одинарные кавычки '
s1 = 'Привет' # Текст в одинарных кавычках
print(s1) # Выведет: Привет
# Способ 2: двойные кавычки "
s2 = "Мир" # Текст в двойных кавычках (работает так же, как одинарные)
print(s2) # Выведет: Мир
# Оба способа одинаковы, но двойные удобны когда в тексте есть апостроф:
s4 = "It's Python" # Апостроф внутри двойных кавычек — работает!
s5 = 'Он сказал "Привет"' # Кавычки внутри одинарных — тоже работает!
# Способ 3: тройные кавычки ''' или """ — для длинного текста на несколько строк
s3 = '''Это текст
на нескольких
строках''' # Можно писать текст с переносами строк!
print(s3)
# Выведет:
# Это текст
# на нескольких
# строках
Что можно делать со строками (основные операции)
# Операция 1: Склеивание строк (конкатенация)
s1 = "Привет"
s2 = "Мир"
result = s1 + ' ' + s2 # Знак + склеивает строки
print(result) # Выведет: Привет Мир
# Операция 2: Повторение строки
s1 = "Привет"
print(s1 * 3) # Повторить строку 3 раза
# Выведет: ПриветПриветПривет
print("=" * 20) # Полезно для линий!
# Выведет: ====================
# Операция 3: Узнать длину строки (сколько символов)
s1 = "Привет"
length = len(s1) # len() считает количество символов
print(length) # Выведет: 6 (6 букв в слове "Привет")
# Операция 4: Получить один символ из строки (по номеру позиции)
s1 = "Привет"
print(s1[0]) # Первый символ (нумерация с 0!) — выведет: П
print(s1[1]) # Второй символ — выведет: р
print(s1[5]) # Шестой символ — выведет: т
# Можно с конца! -1 это последний символ
print(s1[-1]) # Последний символ — выведет: т
print(s1[-2]) # Предпоследний — выведет: е
# Операция 5: Получить часть строки (срез)
s1 = "Привет"
print(s1[1:4]) # Символы с позиции 1 по 3 (4 не включается!) — выведет: рив
print(s1[:3]) # От начала до позиции 2 — выведет: При
print(s1[3:]) # От позиции 3 до конца — выведет: вет
# Запомните: Python считает с 0, и конечная позиция не включается!
# "Привет"
# 012345 <- позиции
# П р и в е т
Индекс — это номер позиции символа в строке. Простыми словами: номер места, где находится буква. Важно: в Python счет начинается с 0, не с 1! Первая буква имеет индекс 0, вторая — 1, и так далее.
Полезные команды (методы) для строк
Метод — это команда, которую можно применить к значению. Простыми словами: это действие, которое можно сделать с текстом. Пишется после точки: текст.команда()
text = "Python - мощный язык программирования"
# Метод 1: upper() — сделать ВСЕ буквы большими (заглавными)
print(text.upper()) # Выведет: PYTHON - МОЩНЫЙ ЯЗЫК ПРОГРАММИРОВАНИЯ
# Метод 2: lower() — сделать все буквы маленькими (строчными)
print(text.lower()) # Выведет: python - мощный язык программирования
# Метод 3: replace() — заменить часть текста на другую
new_text = text.replace("мощный", "элегантный") # Заменить "мощный" на "элегантный"
print(new_text) # Выведет: Python - элегантный язык программирования
# Метод 4: split() — разбить текст на отдельные слова
words = text.split() # Разделить по пробелам
print(words) # Выведет: ['Python', '-', 'мощный', 'язык', 'программирования']
# Получится список (list) слов — изучим списки позже!
# Метод 5: strip() — убрать лишние пробелы в начале и конце
messy = " много пробелов "
clean = messy.strip() # Убрать пробелы по краям
print(clean) # Выведет: много пробелов (без пробелов по краям!)
# Метод 6: find() — найти позицию слова в тексте
position = text.find("язык") # На какой позиции начинается слово "язык"?
print(position) # Выведет: 17 (начинается с 17-й позиции)
# Если слова нет, вернет -1
position2 = text.find("Java") # Ищем "Java" (такого слова нет)
print(position2) # Выведет: -1 (не найдено)
# Метод 7: Проверить, есть ли слово в тексте (не метод, а оператор in)
print("язык" in text) # Есть ли слово "язык" в тексте?
# Выведет: True (да, есть!)
print("Java" in text) # Есть ли слово "Java" в тексте?
# Выведет: False (нет, нету!)
# Метод 8: count() — посчитать, сколько раз встречается буква или слово
print(text.count("м")) # Сколько букв "м" в тексте?
# Выведет: 2 (буква "м" встречается 2 раза)
Важно про строки: Строки в Python неизменяемы. Простыми словами: если вы создали строку "Привет", вы не можете изменить в ней одну букву. Нужно создать новую строку. Например, s1[0] = "П" выдаст ошибку! Вместо этого создайте новую строку: s2 = "П" + s1[1:]
Логический тип (bool)
Логический тип (boolean, bool) — это тип данных, который может быть только True (правда) или False (ложь). Простыми словами: это как ответ "Да" или "Нет", "Включено" или "Выключено". Используется для проверок и принятия решений в программе.
# Создаем логические переменные
is_active = True # Переменная хранит значение "правда"
is_completed = False # Переменная хранит значение "ложь"
print(is_active) # Выведет: True
print(is_completed) # Выведет: False
# Важно: пишется с БОЛЬШОЙ буквы! True и False, а не true и false
Логические операции (для тех, кто хочет узнать больше)
Для любопытных: Этот раздел показывает, как комбинировать True и False. Если сложно — пропустите, вернетесь когда будем изучать условия (if/else)!
is_active = True
is_completed = False
# Операция 1: and (И) — оба условия должны быть True
result = is_active and is_completed # True И False = False
print(result) # Выведет: False
# Простыми словами: "Активно И Завершено?" → "Да И Нет?" = Нет
# Операция 2: or (ИЛИ) — хотя бы одно условие должно быть True
result = is_active or is_completed # True ИЛИ False = True
print(result) # Выведет: True
# Простыми словами: "Активно ИЛИ Завершено?" → "Да ИЛИ Нет?" = Да (хватит одного "Да")
# Операция 3: not (НЕ) — переворачивает значение
result = not is_active # НЕ True = False
print(result) # Выведет: False
# Простыми словами: "НЕ Активно?" → "НЕ Да?" = Нет
Сравнение чисел — получаем True или False
# Сравниваем числа
x = 10
y = 5
# Больше >
print(x > y) # 10 больше 5? Да! — Выведет: True
# Меньше <
print(x < y) # 10 меньше 5? Нет! — Выведет: False
# Равно == (два знака равно!)
print(x == y) # 10 равно 5? Нет! — Выведет: False
# Не равно !=
print(x != y) # 10 не равно 5? Да! — Выведет: True
# Больше или равно >=
print(x >= 10) # 10 больше или равно 10? Да (равно)! — Выведет: True
# Меньше или равно <=
print(y <= 10) # 5 меньше или равно 10? Да! — Выведет: True
Важно: Для проверки равенства используйте == (два знака равно), а не = (один знак)!
=— это присваивание (положить значение в переменную):x = 5==— это проверка равенства (равны ли значения?):x == 5
Что считается True, а что False (можно пропустить пока!)
# Любое значение можно превратить в True или False
# Общее правило: "пусто" или "ноль" = False, всё остальное = True
# Числа:
print(bool(0)) # 0 (ноль) = False
print(bool(42)) # Любое число кроме 0 = True
print(bool(-5)) # Даже отрицательное (не ноль!) = True
# Текст (строки):
print(bool("")) # Пустая строка "" = False
print(bool("abc")) # Непустая строка = True
print(bool(" ")) # Даже один пробел = True (строка не пустая!)
# Специальное значение None:
print(bool(None)) # None (ничего) = False
Числовые типы (int, float)
Python предоставляет два основных числовых типа: целые числа (int) и числа с плавающей точкой (float).
# Целые числа (int)
a = 42
b = 1000000000000000000000 # Python поддерживает целые числа произвольной длины
c = 0b1010 # Двоичная запись (10 в десятичной)
d = 0o777 # Восьмеричная запись (511 в десятичной)
e = 0xFF # Шестнадцатеричная запись (255 в десятичной)
print(a, b, c, d, e)
# Числа с плавающей точкой (float)
pi = 3.14159
e_const = 2.71828
avogadro = 6.022e23 # Научная нотация: 6.022 × 10²³
tiny = 1e-10 # 0.0000000001
print(pi, e_const, avogadro, tiny)
# Арифметические операции
sum_result = a + pi # Смешивание int и float дает float: 45.14159
division = 10 / 3 # Обычное деление всегда дает float: 3.3333333333333335
floor_div = 10 // 3 # Целочисленное деление (результат округляется вниз): 3
modulo = 10 % 3 # Остаток от деления: 1
power = 2 ** 8 # Возведение в степень: 256
print(sum_result, division, floor_div, modulo, power)
# Округление и другие операции
import math
print(round(pi, 2)) # Округление до 2 знаков после запятой: 3.14
print(math.floor(pi)) # Округление вниз: 3
print(math.ceil(pi)) # Округление вверх: 4
print(math.sqrt(16)) # Квадратный корень: 4.0
print(abs(-42)) # Абсолютное значение: 42
Практическое задание: Простой калькулятор
Создадим вашу первую полезную программу — калькулятор, который складывает два числа!
Задача:
Создайте программу calculator.py, которая:
- Спрашивает первое число
- Спрашивает второе число
- Складывает их
- Показывает результат
Как должна работать программа:
# Пример работы программы:
Введите первое число: 10
Введите второе число: 25
====================
РЕЗУЛЬТАТ
====================
10 + 25 = 35
====================
Важная деталь для новичков!
Функция input() всегда возвращает текст (строку), даже если пользователь ввел число!
Это означает:
input("Число: ")даст вам текст, например"10"- Чтобы сложить числа, нужно преобразовать текст в число:
int("10")
Подсказка — структура программы:
# Файл: calculator.py
# Шаг 1: Получаем первое число от пользователя
number1_text = input("Введите первое число: ")
number1 = int(number1_text) # Преобразуем текст в число
# Шаг 2: Получаем второе число
number2_text = input("Введите второе число: ")
number2 = int(number2_text) # Преобразуем текст в число
# Шаг 3: Складываем числа
result = number1 + number2
# Шаг 4: Показываем результат
print()
print("=" * 20)
print(" РЕЗУЛЬТАТ")
print("=" * 20)
# Допишите вывод результата здесь!
Подсказки:
int()превращает текст в целое число- Можно сократить две строки в одну:
number1 = int(input("Число: ")) - Для вывода используйте f-строку:
print(f"{number1} + {number2} = {result}")
Попробуйте улучшить программу:
- Добавьте вычитание (попросите выбрать операцию)
- Добавьте умножение и деление
- Добавьте проверку деления на ноль
Показать полное решение (базовая версия)
# Файл: calculator.py
# Получаем числа от пользователя и сразу преобразуем в int
number1 = int(input("Введите первое число: "))
number2 = int(input("Введите второе число: "))
# Выполняем сложение
result = number1 + number2
# Выводим результат
print()
print("=" * 20)
print(" РЕЗУЛЬТАТ")
print("=" * 20)
print(f"{number1} + {number2} = {result}")
print("=" * 20)
Показать улучшенное решение (с выбором операции)
# Файл: calculator.py (улучшенная версия)
# Получаем числа
number1 = int(input("Введите первое число: "))
number2 = int(input("Введите второе число: "))
# Спрашиваем, какую операцию выполнить
print()
print("Выберите операцию:")
print("1 - Сложение")
print("2 - Вычитание")
print("3 - Умножение")
print("4 - Деление")
operation = input("Ваш выбор (1-4): ")
# Выполняем выбранную операцию
if operation == "1":
result = number1 + number2
symbol = "+"
elif operation == "2":
result = number1 - number2
symbol = "-"
elif operation == "3":
result = number1 * number2
symbol = "*"
elif operation == "4":
if number2 != 0:
result = number1 / number2
symbol = "/"
else:
result = "Ошибка! Деление на ноль!"
symbol = "/"
else:
result = "Неверная операция!"
symbol = "?"
# Выводим результат
print()
print("=" * 30)
print(" РЕЗУЛЬТАТ")
print("=" * 30)
print(f"{number1} {symbol} {number2} = {result}")
print("=" * 30)
Что вы освоите:
- Преобразование типов данных (
int(),str()) - Математические операции с числами
- Работу с пользовательским вводом
- Форматирование вывода
- (Бонус) Условные операторы
if-elif-else
1.4 Базовые операторы
Операторы в Python
Операторы — это волшебные символы, с помощью которых вы творите чудеса с данными. Давайте посмотрим, какие операторы есть в нашем арсенале!
Шпаргалка по операторам:
| Категория | Операторы | Пример | Результат |
|---|---|---|---|
| Арифметические | + (сложение) | 5 + 3 | 8 |
| - (вычитание) | 5 - 3 | 2 | |
| * (умножение) | 5 * 3 | 15 | |
| / (деление) | 5 / 2 | 2.5 | |
| // (целочисленное деление) | 5 // 2 | 2 | |
| % (остаток от деления) | 5 % 2 | 1 | |
| ** (возведение в степень) | 2 ** 3 | 8 | |
| Сравнения | == (равно) | 5 == 5 | True |
| != (не равно) | 5 != 3 | True | |
| > (больше) | 5 > 3 | True | |
| < (меньше) | 5 < 3 | False | |
| >= (больше или равно) | 5 >= 5 | True | |
| <= (меньше или равно) | 5 <= 3 | False | |
| Логические | and (логическое И) | True and False | False |
| or (логическое ИЛИ) | True or False | True | |
| not (логическое НЕ) | not True | False | |
| Присваивания | = (простое присваивание) | x = 5 | x = 5 |
| += (сложение с присваиванием) | x += 3 | x = x + 3 | |
| -= (вычитание с присваиванием) | x -= 2 | x = x - 2 | |
| *= (умножение с присваиванием) | x *= 2 | x = x * 2 | |
| /= (деление с присваиванием) | x /= 2 | x = x / 2 | |
| Членства | in (содержится в) | "a" in "abc" | True |
| not in (не содержится в) | "d" not in "abc" | True | |
| is (тот же объект) | x is None | True (если x = None) |
Приоритет операторов
В Python операторы имеют разный приоритет. Операции с более высоким приоритетом выполняются раньше.
# Пример приоритета операторов
result = 2 + 3 * 4 # Умножение имеет более высокий приоритет, чем сложение
print(result) # 14, а не 20
# Использование скобок для изменения порядка операций
result = (2 + 3) * 4 # Сначала выполняется выражение в скобках
print(result) # 20
# Приоритет логических операторов
x = 5
y = 10
z = 15
result = x < y and y < z # Сначала выполняются сравнения, затем логическое И
print(result) # True
# Сложное выражение
result = x + y * z - x / y # Порядок: умножение/деление, затем сложение/вычитание
print(result) # 5 + (10 * 15) - (5 / 10) = 5 + 150 - 0.5 = 154.5
Битовые операторы
Python также поддерживает битовые операции для работы с отдельными битами числа:
# Битовые операторы
a = 60 # 60 = 0011 1100 в двоичной системе
b = 13 # 13 = 0000 1101 в двоичной системе
# Битовое И (AND)
print(a & b) # 12 = 0000 1100
# Битовое ИЛИ (OR)
print(a | b) # 61 = 0011 1101
# Битовое исключающее ИЛИ (XOR)
print(a ^ b) # 49 = 0011 0001
# Битовое НЕ (NOT)
print(~a) # -61 = 1100 0011 (с учетом дополнительного кода)
# Битовый сдвиг влево
print(a << 2) # 240 = 1111 0000 (сдвиг на 2 бита влево)
# Битовый сдвиг вправо
print(a >> 2) # 15 = 0000 1111 (сдвиг на 2 бита вправо)