Когда вы начинаете работать с Python, первое, что нужно понять, — это как Python работает с данными. В Python всё является объектами. Даже числа, строки и списки — это объекты, с которыми Python работает в своей внутренней памяти. Понимание этой идеи — ключ к правильному использованию Python.
Мы рассмотрим, как Python хранит данные в переменных, какие типы данных существуют, и как можно манипулировать данными с помощью выражений.

Переменные: как Python управляет данными
Переменная в Python — это не просто контейнер, в который мы кладём данные. Это ссылка на объект в памяти. Когда мы создаём переменную, она просто указывает на объект. Важно помнить, что сами данные в Python — это объекты, и переменные являются связями между именами и этими объектами.
Пример 1: числа как объекты
x = 10
Здесь переменная x указывает на объект, представляющий число 10 в памяти. Когда вы изменяете значение переменной:
x = 20
Python просто создаёт новый объект, представляющий число 20, и связывает его с переменной x. Объект 10 остаётся в памяти, но x больше не ссылается на него.
Пример 2: строки как объекты
name = "Alice"
Здесь переменная name указывает на строковый объект "Alice". Строки — это неизменяемые объекты (immutable), и когда мы делаем следующее:
name = "Bob"
Python создаёт новый объект, представляющий строку "Bob", и связывает его с переменной name. Старый объект "Alice" остаётся в памяти, если на него не указывает другая переменная.
Типы данных: что это за объекты?
Каждое значение в Python — это объект, и у каждого объекта есть свой тип. Python сам решает, какого типа будет объект, исходя из того, что мы с ним делаем.
Целые числа (int)
Целые числа — это объекты, представляющие целые значения.
x = 10
При этом важно понимать, что в Python нет фиксированной «коробки» для целых чисел. Они просто объекты, и Python автоматически создаёт их и управляет памятью для них.
Числа с плавающей точкой (float)
Числа с плавающей точкой в Python также представляют объекты. Это числа, которые могут содержать дробную часть.
price = 12.99
При работе с float важно учитывать погрешности, связанные с хранением этих чисел в памяти. Например, операция:
0.1 + 0.2
может дать результат, близкий к 0.30000000000000004, из-за особенностей представления дробных чисел в компьютере. Чтобы избежать таких проблем, можно округлять результат:
round(0.1 + 0.2, 2) # 0.3
Строки (str)
Строки в Python — это неизменяемые объекты. Когда мы создаём строку, Python создаёт объект, представляющий последовательность символов. Пример:
greeting = "Hello, world!"
Важно понимать, что строки нельзя изменить после их создания. Если вы попытаетесь изменить строку, на самом деле Python создаст новый объект строки:
greeting = "Hello"
greeting += ", world!" # создаётся новый объект строки
Логические значения (bool)
Логические значения — это объекты, которые могут быть только двух типов: True или False. Эти объекты часто используются для проверки условий.
is_valid = True
is_complete = False
Логические значения являются результатом выполнения операций сравнения:
x = 10
y = 20
is_greater = x < y # True
Отсутствие значения (None)
None — это специальный объект, который используется для обозначения отсутствия значения. Это важно, когда мы хотим указать, что переменная не имеет значения.
result = None
Проверка на None производится с помощью оператора is:
if result is None:
print("Нет данных")
Выражения: вычисляем новые значения
📢 Подписывайтесь на наш Telegram-канал.
Там вы найдете анонсы обучающих статей и видео, готовый код для ваших проектов и увлекательные курсы. Ничего лишнего — только практика, вдохновение и развитие.
В Python всё, что мы делаем с данными, — это выражения. Выражение — это последовательность операций, которая вычисляет результат. В Python выражения могут быть простыми, например, арифметическими, или сложными, включающими несколько шагов.
Арифметические выражения
Простые арифметические операции:
x = 5
y = 3
z = x + y # сложение
Но Python может делать гораздо больше, например, целочисленное деление:
result = x // y # целочисленное деление
Сравнение
Когда мы сравниваем два объекта, Python возвращает логическое значение (True или False).
x = 10
y = 5
print(x > y) # True
Можно также использовать операторы ==, !=, <, >, <=, >=, чтобы проверять, как два объекта соотносятся друг с другом.
Логические операторы
Часто в коде необходимо комбинировать условия, используя логические операторы and, or, и not.
is_raining = True
is_sunny = False
if is_raining and not is_sunny:
print("Возьмите зонт!")
Здесь мы проверяем два условия: идёт ли дождь и не светит ли солнце. Если оба условия выполняются, выводим сообщение.
Преобразование типов: Python не гадалка
Python не будет угадывать, какой тип вы хотите использовать. Если вы хотите преобразовать данные, вам нужно сделать это вручную.
Строка в число
Часто нам нужно работать с числовыми значениями, полученными от пользователя, а input() всегда возвращает строку. Чтобы использовать строку как число, её нужно преобразовать:
x = input("Введите число: ")
x = int(x)
Если пользователь вводит не число, программа упадёт с ошибкой, и это нужно учесть в реальных приложениях.
Число в строку
Если вы хотите комбинировать числа и строки, нужно явно преобразовать числа в строки:
x = 10
message = "Значение x: " + str(x)
Можно использовать f-строки для удобства:
message = f"Значение x: {x}"
Преобразование между int и float
x = 10.7
print(int(x)) # 10, отбрасывает дробную часть
print(round(x)) # 11, округляет
Ошибки и ловушки
Одной из самых частых ошибок новичков является попытка сравнить строку с числом:
x = input("Введите число: ") # строка
if x > 10: # ошибка
print("Число больше 10")
Python не умеет автоматически преобразовывать строку в число. Нужно явно выполнить преобразование:
x = int(input("Введите число: "))
if x > 10:
print("Число больше 10")
Пример: планирование бюджета поездки
Напишем небольшой скрипт, который поможет рассчитать общий бюджет поездки. Нам нужно вычислить, сколько мы потратим на отель, еду и билеты.
days = int(input("Сколько дней поездка? "))
hotel_per_day = float(input("Сколько стоит отель в день? "))
food_per_day = float(input("Сколько тратите на еду в день? "))
tickets = float(input("Сколько стоят билеты туда-обратно? "))
hotel_total = days * hotel_per_day
food_total = days * food_per_day
total = hotel_total + food_total + tickets
print()
print(f"Отель: {hotel_total:.2f}")
print(f"Еда: {food_total:.2f}")
print(f"Билеты: {tickets:.2f}")
print(f"Итого: {total:.2f}")
Заключение
- В Python переменные — это ссылки на объекты, а не просто ячейки памяти.
- Всё в Python — это объекты, включая числа, строки, списки и другие типы.
- Чтобы правильно работать с данными, нужно понимать типы и преобразования.
- Выражения в Python — это основа, с помощью которой мы вычисляем и получаем новые значения.
Практика
Сделайте одно из следующих упражнений:
Конвертер единиц
Напишите программу, которая спрашивает количество километров и выводит соответствующее количество миль (1 км ≈ 0.621371 мили).
Проверка бюджета
Напишите программу, которая принимает цены на товары и проверяет, хватит ли у вас денег для их покупки.
Чаевые
Напишите программу, которая рассчитывает сумму чаевых на основе введённой суммы счёта и процента.
В следующей статье мы перейдём к условиям и ветвлениям. Это следующий шаг в развитии программы, потому что она начнёт принимать решения.
05.12.2025
0
29
Комментарии
0