Основы Python

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 довольно гибкий в именовании переменных, но есть важные правила:

  1. Имя должно начинаться с буквы или подчеркивания, но не с цифры:
# Правильно:
user_age = 25
_private_data = "секретно"
temperature1 = 36.6

# Неправильно:
# 1user = "ошибка"  # начинается с цифры
# my-variable = 10  # содержит дефис
  1. Python различает большие и маленькие буквы:
price = 1000      # это одна переменная
Price = 2000      # это совершенно другая переменная
PRICE = 3000      # и это тоже отдельная переменная
  1. Нельзя использовать зарезервированные слова. Python использует определенные слова для своих нужд: if, for, while, class, def и другие.
  2. Используйте понятные имена. Лучше написать 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. Лучшие практики и советы для начинающих

Правила хорошего кода

  1. Используйте осмысленные имена переменных
# Плохо
a = 25
b = 1.75
c = a / (b * b)

# Хорошо
age = 25
height_meters = 1.75
bmi = age / (height_meters * height_meters)
  1. Добавляйте комментарии
# Расчет налога с продаж
base_price = 1000      # Базовая цена без налога
tax_rate = 0.12       # НДС 12%
final_price = base_price * (1 + tax_rate)  # Итоговая цена с налогом
  1. Группируйте связанные переменные
# Информация о товаре
product_name = "Смартфон"
product_price = 120000
product_quantity = 5

# Информация о клиенте
customer_type = "VIP"
customer_discount = 0.10

Как избегать ошибок

  1. Проверяйте типы данных
user_input = input("Введите число: ")
if user_input.isdigit():
    number = int(user_input)
    print(f"Число удвоено: {number * 2}")
else:
    print("Это не число!")
  1. Используйте понятные имена
# Вместо x, y, z используйте:
width = 10
height = 20
length = 30
volume = width * height * length
  1. Не бойтесь экспериментировать
# Попробуйте разные операции
test_string = "Тестовая строка"
print(f"Длина: {len(test_string)}")
print(f"Верхний регистр: {test_string.upper()}")
print(f"Количество слов: {len(test_string.split())}")

Заключение

В этой статье мы изучили фундаментальные концепции Python:

  1. Переменные — именованные контейнеры для хранения данных
  2. Типы данных — int, float, str, bool и их особенности
  3. Математические операции — от простого сложения до сложных вычислений
  4. Работа со строками — объединение, форматирование, базовые операции
  5. Ввод данных — взаимодействие с пользователем через input()
  6. Преобразование типов — конвертация между разными типами данных
  7. Практические примеры — реальные программы для решения задач

Эти знания — основа для изучения более сложных тем: условных операторов, циклов, функций и объектно-ориентированного программирования. Каждая концепция, изученная сегодня, будет использоваться в ваших будущих программах.

Упражнения для самостоятельной работы:

  1. Создайте программу для расчета площади и периметра прямоугольника
  2. Напишите конвертер температур (Цельсий ↔ Фаренгейт)
  3. Разработайте калькулятор стоимости поездки на такси
  4. Создайте программу для расчета сложных процентов по депозиту

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


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

От admin

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *