Числовые типы данных в Python

Python предоставляет различные типы для работы с числами, что делает его мощным инструментом для математических вычислений. В этой статье мы подробно рассмотрим числовые типы данных и операции, которые можно с ними выполнять.

Основные числовые типы

В Python есть три основных числовых типа:

  1. Целые числа (int) — числа без дробной части
  2. Числа с плавающей точкой (float) — числа с дробной частью
  3. Комплексные числа (complex) — числа с действительной и мнимой частью

Целые числа (int)

Целые числа (тип int) представляют числа без дробной части:

Python 3.13
# Положительные и отрицательные целые числа
positive = 42
negative = -73
zero = 0

# Большие числа (в Python нет ограничения на размер целых чисел)
big_number = 1234567890123456789012345678901234567890

# Двоичные, восьмеричные и шестнадцатеричные числа
binary = 0b1010      # 10 в десятичной системе
octal = 0o756        # 494 в десятичной системе
hexadecimal = 0xFF   # 255 в десятичной системе

# Использование разделителя для удобства чтения больших чисел
million = 1_000_000  # Это то же самое, что и 1000000

В отличие от многих других языков программирования, в Python целые числа имеют неограниченную точность, то есть они могут быть сколь угодно большими (ограничены только доступной памятью компьютера).

Числа с плавающей точкой (float)

Числа с плавающей точкой (тип float) представляют действительные числа с дробной частью:

Python 3.13
# Числа с десятичной точкой
price = 19.99
pi_approx = 3.14159
negative_float = -0.5

# Экспоненциальная запись (научная нотация)
avogadro = 6.022e23  # 6.022 * 10^23
tiny = 1.6e-35      # 1.6 * 10^(-35)

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

Python 3.13
# Пример ограниченной точности float
>>> result = 0.1 + 0.2
>>> print(result)  # Выведет 0.30000000000000004, а не точно 0.3
0.30000000000000004

Для финансовых вычислений, где требуется точность, рекомендуется использовать модуль decimal.

Комплексные числа (complex)

Комплексные числа (тип complex) содержат действительную и мнимую части, где мнимая часть обозначается суффиксом j или J:

Python 3.13
# Создание комплексных чисел
z1 = 3 + 4j
z2 = complex(2, -3)  # 2 - 3j

# Получение действительной и мнимой частей
real_part = z1.real  # 3.0
imag_part = z1.imag  # 4.0

Комплексные числа часто используются в инженерных расчетах, обработке сигналов и математических алгоритмах.

Арифметические операции

Python поддерживает все стандартные арифметические операции для числовых типов:

Основные операции

Python 3.13
a = 10
b = 3

# Сложение
sum_result = a + b  # 13

# Вычитание
diff_result = a - b  # 7

# Умножение
mult_result = a * b  # 30

# Деление (всегда возвращает float)
div_result = a / b  # 3.3333333333333335

# Целочисленное деление (возвращает целую часть результата деления)
floor_div = a // b  # 3

# Остаток от деления
remainder = a % b  # 1

# Возведение в степень
power = a ** b  # 1000

Смешанные операции

При выполнении операций между различными числовыми типами Python автоматически преобразует типы по следующему правилу: intfloatcomplex

Python 3.13
# int + float = float
mixed1 = 5 + 3.14  # 8.14 (float)

# float + complex = complex
mixed2 = 2.5 + 3j  # (2.5+3j) (complex)

Округление и управление точностью

Python предоставляет несколько функций для округления чисел:

Python 3.13
# Округление до ближайшего целого
rounded = round(3.14159)  # 3

# Округление до указанного количества знаков после запятой
rounded_pi = round(3.14159, 2)  # 3.14

# Округление вниз (к меньшему целому)
import math
floor_value = math.floor(3.99)  # 3

# Округление вверх (к большему целому)
ceil_value = math.ceil(3.01)  # 4

# Отбрасывание дробной части
trunc_value = math.trunc(3.99)  # 3

Математические функции

Модуль math предоставляет множество полезных математических функций:

Python 3.13
import math

# Константы
pi = math.pi      # 3.141592653589793
e = math.e        # 2.718281828459045

# Тригонометрические функции (аргументы в радианах)
sin_value = math.sin(math.pi / 2)  # 1.0
cos_value = math.cos(math.pi)      # -1.0
tan_value = math.tan(math.pi / 4)  # 1.0

# Обратные тригонометрические функции
asin_value = math.asin(1.0)  # 1.5707963267948966 (π/2)

# Логарифмы
log_value = math.log(10)      # натуральный логарифм, ln(10) = 2.302585092994046
log10_value = math.log10(100) # логарифм по основанию 10, log10(100) = 2.0

# Корни
sqrt_value = math.sqrt(16)    # квадратный корень, 4.0

Для работы с комплексными числами используется модуль cmath, который содержит аналогичные функции, но работающие с комплексными аргументами.

Случайные числа

Для генерации случайных чисел в Python используется модуль random:

Python 3.13
import random

# Случайное число от 0 до 1
random_float = random.random()  # например, 0.7593696548501615

# Случайное целое число в диапазоне
random_int = random.randint(1, 10)  # случайное целое от 1 до 10 включительно

# Случайное число с плавающей точкой в диапазоне
random_range = random.uniform(1.5, 3.5)  # например, 2.4378123553729193

# Случайный выбор из последовательности
random_choice = random.choice([1, 3, 5, 7, 9])  # случайный элемент из списка

Числовые методы и функции

Python предоставляет несколько встроенных функций для работы с числами:

Python 3.13
# Абсолютное значение
abs_value = abs(-10)  # 10

# Максимальное и минимальное значение
max_value = max(1, 5, 3, 9, 2)  # 9
min_value = min(1, 5, 3, 9, 2)  # 1

# Сумма последовательности
sum_value = sum([1, 2, 3, 4, 5])  # 15

# Преобразование других типов в числовые
int_from_str = int("42")     # 42
float_from_str = float("3.14")  # 3.14

Проверка понимания

Проверим ваше понимание числовых типов данных:

Что будет результатом выражения 10 / 3 в Python?


Мы с вами на связи
Русский