Python — один из самых популярных языков программирования в мире. В предыдущей статье мы подробно разобрали, как установить Python и настроить рабочее окружение. Сегодня мы сделаем следующий шаг и изучим переменные, типы данных и базовые операции, чтобы вы могли писать свои первые настоящие программы.
1. Что такое переменная и зачем она нужна
Представьте, что вы работаете в магазине и постоянно записываете информацию о товарах на листочках. У вас есть название товара, его цена, количество на складе. Чтобы не запутаться, вы подписываете каждый листочек: «Название», «Цена», «Количество». Переменная в программировании работает точно так же — это именованный «контейнер» для хранения информации.
# Создаем переменные для описания товара product_name = "Смартфон" product_price = 120000 product_quantity = 15 is_in_stock = True
В этом примере мы создали четыре переменные:
product_nameхранит текст (название товара)product_priceхранит число (цену в тенге)product_quantityхранит количество единицis_in_stockхранит информацию о наличии (есть товар или нет)
Правила создания переменных
Python довольно гибкий в именовании переменных, но есть важные правила:
- Имя должно начинаться с буквы или подчеркивания, но не с цифры:
# Правильно: user_age = 25 _private_data = "секретно" temperature1 = 36.6 # Неправильно: # 1user = "ошибка" # начинается с цифры # my-variable = 10 # содержит дефис
- Python различает большие и маленькие буквы:
price = 1000 # это одна переменная Price = 2000 # это совершенно другая переменная PRICE = 3000 # и это тоже отдельная переменная
- Нельзя использовать зарезервированные слова. Python использует определенные слова для своих нужд:
if,for,while,class,defи другие. - Используйте понятные имена. Лучше написать
monthly_salaryчем простоxилиdata.
2. Типы данных в Python — основа программирования
Python умеет работать с разными типами информации. Это как разные виды коробок для хранения: в одних мы храним документы, в других — инструменты, в третьих — продукты.
Целые числа (int)
Целые числа — это числа без дробной части: 1, 100, -50, 0.
# Примеры целых чисел students_count = 25 temperature = -15 year = 2024 account_balance = 0 # Можно записывать большие числа с подчеркиваниями для читаемости population = 19_000_000 # 19 миллионов
Числа с плавающей точкой (float)
Это числа с дробной частью: 3.14, -0.5, 100.0.
# Примеры чисел с плавающей точкой pi = 3.14159 height_in_meters = 1.75 temperature_celsius = 36.6 discount_percent = 0.15 # 15% # Python автоматически определяет тип price = 99.99 # это float quantity = 5 # это int
Строки (str)
Строки — это текст. В Python строки заключаются в кавычки (одинарные или двойные).
# Разные способы создания строк welcome_message = "Добро пожаловать в магазин!" error_message = 'Произошла ошибка' empty_string = "" multiline_text = """Это длинный текст, который занимает несколько строк""" # В строках можно использовать специальные символы formatted_text = "Первая строка\nВторая строка\tС табуляцией"
Логические значения (bool)
Логический тип может иметь только два значения: True (истина) или False (ложь).
# Примеры булевых значений is_weekend = True has_discount = False is_registered_user = True payment_completed = False # Булевы значения часто получаются в результате сравнений is_adult = user_age >= 18 # True если возраст 18 или больше is_expensive = price > 50000 # True если цена больше 50000
Как узнать тип переменной
Python предоставляет функцию type() для определения типа данных:
product_name = "Ноутбук"
price = 150000
weight = 2.8
is_available = True
print("Тип product_name:", type(product_name)) # <class 'str'>
print("Тип price:", type(price)) # <class 'int'>
print("Тип weight:", type(weight)) # <class 'float'>
print("Тип is_available:", type(is_available)) # <class 'bool'>
3. Математические операции — калькулятор внутри Python
Python может выполнять все основные математические операции. Это превращает его в мощный калькулятор.
Базовые арифметические операции
# Исходные данные для примеров base_price = 1000 tax_rate = 0.12 # 12% налог quantity = 3 discount = 50 # Основные операции total_before_tax = base_price * quantity # Умножение: 3000 tax_amount = total_before_tax * tax_rate # Умножение: 360.0 total_with_tax = total_before_tax + tax_amount # Сложение: 3360.0 final_price = total_with_tax - discount # Вычитание: 3310.0 # Операции деления average_price = final_price / quantity # Обычное деление: 1103.33... items_per_box = 25 // 7 # Целочисленное деление: 3 remaining_items = 25 % 7 # Остаток от деления: 4 # Возведение в степень area = 5 ** 2 # 5 в квадрате = 25 cube_volume = 3 ** 3 # 3 в кубе = 27
Порядок выполнения операций
Python соблюдает математические правила приоритета операций:
# Примеры порядка операций result1 = 2 + 3 * 4 # Сначала 3*4=12, потом 2+12=14 result2 = (2 + 3) * 4 # Сначала 2+3=5, потом 5*4=20 result3 = 10 + 6 / 2 # Сначала 6/2=3, потом 10+3=13.0 # Сложный пример расчета стоимости доставки base_cost = 100 distance = 15 rate_per_km = 8.5 fuel_surcharge = 0.15 delivery_cost = base_cost + distance * rate_per_km * (1 + fuel_surcharge) # Сначала: distance * rate_per_km = 15 * 8.5 = 127.5 # Потом: (1 + fuel_surcharge) = 1.15 # Затем: 127.5 * 1.15 = 146.625 # Наконец: 100 + 146.625 = 246.625
Сокращенные операции присваивания
Python предоставляет удобные способы изменения переменных:
counter = 10
# Обычный способ
counter = counter + 5
# Сокращенный способ
counter += 5 # То же самое, что counter = counter + 5
counter -= 2 # counter = counter - 2
counter *= 3 # counter = counter * 3
counter /= 4 # counter = counter / 4
counter //= 2 # counter = counter // 2
counter %= 3 # counter = counter % 3
counter **= 2 # counter = counter ** 2
print(f"Итоговое значение counter: {counter}")
4. Работа со строками — больше чем просто текст
Строки в Python — это не просто набор символов. С ними можно выполнять множество полезных операций.
Объединение строк (конкатенация)
# Простое объединение greeting = "Здравствуйте" punctuation = "!" full_greeting = greeting + ", как дела" + punctuation print(full_greeting) # Здравствуйте, как дела! # Объединение с числами требует преобразования item_count = 5 message = "У вас в корзине " + str(item_count) + " товаров" print(message) # У вас в корзине 5 товаров
Повторение строк
# Создание разделителей separator = "=" * 40 print(separator) # ======================================== # Создание отступов indent = " " * 3 # 6 пробелов formatted_text = indent + "Текст с отступом" # Создание прогресс-бара progress_filled = "█" * 7 progress_empty = "░" * 3 progress_bar = "[" + progress_filled + progress_empty + "]" print(progress_bar) # [███████░░░]
F-строки — современный способ форматирования
F-строки (форматированные строковые литералы) — это самый удобный способ вставки переменных в текст:
product_name = "Смартфон"
price = 85000
discount_percent = 15
final_price = price * (1 - discount_percent / 100)
# Старый способ (не рекомендуется)
old_way = "Товар: " + product_name + ", цена: " + str(final_price) + " тенге"
# Современный способ с f-строками
modern_way = f"Товар: {product_name}, цена: {final_price} тенге"
print(modern_way) # Товар: Смартфон, цена: 72250.0 тенге
# F-строки поддерживают вычисления внутри фигурных скобок
summary = f"Скидка {discount_percent}% на {product_name} = экономия {price - final_price} тенге"
print(summary)
# Форматирование чисел в f-строках
pi = 3.14159265359
formatted = f"Число π с двумя знаками: {pi:.2f}"
print(formatted) # Число π с двумя знаками: 3.14
Полезные операции со строками
text = "Изучаем Python программирование"
# Длина строки
print(f"Количество символов: {len(text)}")
# Изменение регистра
print(f"Верхний регистр: {text.upper()}")
print(f"Нижний регистр: {text.lower()}")
print(f"Первая буква заглавная: {text.capitalize()}")
# Проверки
print(f"Содержит 'Python': {'Python' in text}")
print(f"Начинается с 'Изучаем': {text.startswith('Изучаем')}")
print(f"Заканчивается на 'программирование': {text.endswith('программирование')}")
# Замена текста
new_text = text.replace("Python", "JavaScript")
print(f"После замены: {new_text}")
5. Ввод данных от пользователя
Программы становятся интересными, когда они взаимодействуют с пользователем. Функция input() позволяет запрашивать информацию.
Основы работы с input()
# Простой ввод текста
user_name = input("Как вас зовут? ")
print(f"Приятно познакомиться, {user_name}!")
# ВАЖНО: input() всегда возвращает строку!
age_as_string = input("Сколько вам лет? ")
print(f"Тип данных: {type(age_as_string)}") # <class 'str'>
# Преобразование в число
age_as_number = int(age_as_string)
next_year_age = age_as_number + 1
print(f"В следующем году вам будет {next_year_age} лет")
Обработка разных типов данных
# Ввод целого числа
try:
quantity = int(input("Введите количество товаров: "))
print(f"Вы заказали {quantity} единиц товара")
except ValueError:
print("Ошибка: введите корректное число")
# Ввод числа с плавающей точкой
try:
price = float(input("Введите цену товара: "))
print(f"Цена: {price:.2f} тенге")
except ValueError:
print("Ошибка: введите корректную цену")
# Ввод логического значения
answer = input("Хотите получать уведомления? (да/нет): ").lower()
wants_notifications = answer in ['да', 'yes', 'y', '1', 'true']
print(f"Уведомления включены: {wants_notifications}")
6. Преобразование типов данных
Часто нужно преобразовать один тип данных в другой. Python предоставляет встроенные функции для этого.
Основные функции преобразования
# Исходные данные
text_number = "12345"
real_number = 67.89
boolean_value = True
zero_value = 0
# Преобразование в строку (str)
number_to_string = str(real_number) # "67.89"
bool_to_string = str(boolean_value) # "True"
print(f"Число как строка: '{number_to_string}'")
# Преобразование в целое число (int)
string_to_int = int(text_number) # 12345
float_to_int = int(real_number) # 67 (дробная часть отбрасывается)
bool_to_int = int(boolean_value) # 1 (True = 1, False = 0)
print(f"Строка как число: {string_to_int}")
# Преобразование в число с плавающей точкой (float)
string_to_float = float("3.14159") # 3.14159
int_to_float = float(42) # 42.0
print(f"Строка как float: {string_to_float}")
# Преобразование в булево значение (bool)
print(f"bool(1): {bool(1)}") # True
print(f"bool(0): {bool(0)}") # False
print(f"bool('текст'): {bool('текст')}") # True
print(f"bool(''): {bool('')}") # False (пустая строка)
print(f"bool([]): {bool([])}") # False (пустой список)
Практическое применение преобразований
# Программа расчета скидки
print("=== Калькулятор скидки ===")
original_price = float(input("Введите первоначальную цену: "))
discount_percent = float(input("Введите процент скидки: "))
discount_amount = original_price * (discount_percent / 100)
final_price = original_price - discount_amount
savings = discount_amount
print(f"\n--- Результат расчета ---")
print(f"Первоначальная цена: {original_price:.2f} тенге")
print(f"Скидка: {discount_percent}% ({discount_amount:.2f} тенге)")
print(f"Итоговая цена: {final_price:.2f} тенге")
print(f"Экономия: {savings:.2f} тенге")
7. Практические примеры программ
Теперь объединим все изученное в полезных программах.
Конвертер валют
print("=== Конвертер валют ===")
# Курсы валют (примерные)
usd_rate = 450.0 # 1 USD = 450 тенге
eur_rate = 485.0 # 1 EUR = 485 тенге
rub_rate = 4.8 # 1 RUB = 4.8 тенге
amount_kzt = float(input("Введите сумму в тенге: "))
usd_amount = amount_kzt / usd_rate
eur_amount = amount_kzt / eur_rate
rub_amount = amount_kzt / rub_rate
print(f"\n{amount_kzt:.2f} тенге равно:")
print(f" {usd_amount:.2f} USD")
print(f" {eur_amount:.2f} EUR")
print(f" {rub_amount:.2f} RUB")
Калькулятор индекса массы тела
print("=== Калькулятор ИМТ ===")
weight = float(input("Введите ваш вес (кг): "))
height = float(input("Введите ваш рост (м): "))
bmi = weight / (height ** 2)
print(f"\nВаш индекс массы тела: {bmi:.2f}")
# Простая интерпретация результата
if bmi < 18.5:
category = "недостаточная масса"
elif bmi < 25:
category = "нормальная масса"
elif bmi < 30:
category = "избыточная масса"
else:
category = "ожирение"
print(f"Категория: {category}")
Расчет времени выполнения задачи
print("=== Планировщик времени ===")
total_tasks = int(input("Количество задач: "))
minutes_per_task = int(input("Минут на одну задачу: "))
break_minutes = int(input("Минут на перерыв между задачами: "))
working_time = total_tasks * minutes_per_task
break_time = (total_tasks - 1) * break_minutes # перерывов на 1 меньше
total_time = working_time + break_time
hours = total_time // 60
remaining_minutes = total_time % 60
print(f"\n--- Планирование времени ---")
print(f"Время на выполнение задач: {working_time} минут")
print(f"Время на перерывы: {break_time} минут")
print(f"Общее время: {total_time} минут ({hours} ч {remaining_minutes} мин)")
8. Лучшие практики и советы для начинающих
Правила хорошего кода
- Используйте осмысленные имена переменных
# Плохо a = 25 b = 1.75 c = a / (b * b) # Хорошо age = 25 height_meters = 1.75 bmi = age / (height_meters * height_meters)
- Добавляйте комментарии
# Расчет налога с продаж base_price = 1000 # Базовая цена без налога tax_rate = 0.12 # НДС 12% final_price = base_price * (1 + tax_rate) # Итоговая цена с налогом
- Группируйте связанные переменные
# Информация о товаре product_name = "Смартфон" product_price = 120000 product_quantity = 5 # Информация о клиенте customer_type = "VIP" customer_discount = 0.10
Как избегать ошибок
- Проверяйте типы данных
user_input = input("Введите число: ")
if user_input.isdigit():
number = int(user_input)
print(f"Число удвоено: {number * 2}")
else:
print("Это не число!")
- Используйте понятные имена
# Вместо x, y, z используйте: width = 10 height = 20 length = 30 volume = width * height * length
- Не бойтесь экспериментировать
# Попробуйте разные операции
test_string = "Тестовая строка"
print(f"Длина: {len(test_string)}")
print(f"Верхний регистр: {test_string.upper()}")
print(f"Количество слов: {len(test_string.split())}")
Заключение
В этой статье мы изучили фундаментальные концепции Python:
- Переменные — именованные контейнеры для хранения данных
- Типы данных — int, float, str, bool и их особенности
- Математические операции — от простого сложения до сложных вычислений
- Работа со строками — объединение, форматирование, базовые операции
- Ввод данных — взаимодействие с пользователем через input()
- Преобразование типов — конвертация между разными типами данных
- Практические примеры — реальные программы для решения задач
Эти знания — основа для изучения более сложных тем: условных операторов, циклов, функций и объектно-ориентированного программирования. Каждая концепция, изученная сегодня, будет использоваться в ваших будущих программах.
Упражнения для самостоятельной работы:
- Создайте программу для расчета площади и периметра прямоугольника
- Напишите конвертер температур (Цельсий ↔ Фаренгейт)
- Разработайте калькулятор стоимости поездки на такси
- Создайте программу для расчета сложных процентов по депозиту
Помните: программирование изучается практикой. Чем больше вы экспериментируете с кодом, тем быстрее освоите Python!
Продолжение курса: в следующих статьях мы изучим условные операторы, которые позволят программам принимать решения.
