← Назад к вопросам

Что такое целое число (int) в Python?

1.3 Junior🔥 111 комментариев
#Python Core

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI22 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Целое число (int) в Python

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

Основы

# Создание целых чисел
positive = 42
negative = -10
zero = 0
large_number = 999999999999999999999999999  # Сколь угодно большое

print(type(42))  # <class 'int'>
print(type(0))   # <class 'int'>

# Проверка типа
if isinstance(42, int):
    print("Это целое число")

Представления

# Десятичное (decimal)
decimal = 42

# Двоичное (binary) — префикс 0b
binary = 0b101010  # 42 в двоичной системе
print(binary)  # 42

# Восьмеричное (octal) — префикс 0o
octal = 0o52  # 42 в восьмеричной
print(octal)  # 42

# Шестнадцатеричное (hexadecimal) — префикс 0x
hexadecimal = 0x2A  # 42 в шестнадцатеричной
print(hexadecimal)  # 42

# Конвертация
print(bin(42))  # '0b101010'
print(oct(42))  # '0o52'
print(hex(42))  # '0x2a'

Операции

# Арифметика
a, b = 10, 3
print(a + b)   # 13 — сложение
print(a - b)   # 7 — вычитание
print(a * b)   # 30 — умножение
print(a / b)   # 3.3333... — деление (float!)
print(a // b)  # 3 — целочисленное деление
print(a % b)   # 1 — остаток
print(a ** b)  # 1000 — возведение в степень

# Сравнение
print(10 == 10)   # True
print(10 != 5)    # True
print(10 > 5)     # True
print(10 < 5)     # False
print(10 >= 10)   # True

# Логические операции
print((10 > 5) and (5 > 0))  # True
print((10 > 20) or (5 > 0))  # True

Методы и атрибуты

num = 42

# Информация о числе
print(num.bit_length())  # 6 — количество бит
print(num.real)          # 42 — действительная часть
print(num.imag)          # 0 — мнимая часть

# Конвертация из строки
num_from_str = int("42")
num_from_binary = int("101010", 2)  # 42
num_from_hex = int("2A", 16)  # 42

# Абсолютное значение
print(abs(-42))  # 42

# Пол и потолок
import math
print(math.floor(3.7))  # 3
print(math.ceil(3.2))   # 4

Особенности Python 3

# В Python 3 нет разницы между int и long
# Все целые числа — это int
small = 42
big = 123456789012345678901234567890

print(type(small))  # <class 'int'>
print(type(big))    # <class 'int'> — ВСЁ ЕЩЁ int!

# Автоматическое расширение
result = 10 ** 100  # Очень большое число
print(len(str(result)))  # Количество цифр

Специальные значения

# Boolean — частный случай int
true_val = True
false_val = False

print(int(True))   # 1
print(int(False))  # 0
print(True + True)  # 2 — True это 1
print(False + 5)    # 5 — False это 0

# Проверка
print(isinstance(True, int))  # True в Python!
print(type(True))  # <class 'bool'>

Производительность

import sys

# Размер объекта в памяти
print(sys.getsizeof(0))    # 24 байта
print(sys.getsizeof(42))   # 28 байт
print(sys.getsizeof(10**100))  # Намного больше

# Маленькие числа кешируются
a = 256
b = 256
print(a is b)  # True — один и тот же объект

a = 257
b = 257
print(a is b)  # False — разные объекты

Практические примеры

# Факториал
def factorial(n):
    if n <= 1:
        return 1
    return n * factorial(n - 1)

print(factorial(20))  # 2432902008176640000

# Проверка простого числа
def is_prime(n):
    if n < 2:
        return False
    for i in range(2, int(n ** 0.5) + 1):
        if n % i == 0:
            return False
    return True

print(is_prime(17))  # True
print(is_prime(18))  # False

# Парсинг цифр
num = 12345
digits = [int(d) for d in str(num)]
print(digits)  # [1, 2, 3, 4, 5]

Битовые операции

# AND
print(12 & 10)  # 8 (1100 & 1010 = 1000)

# OR
print(12 | 10)  # 14 (1100 | 1010 = 1110)

# XOR
print(12 ^ 10)  # 6 (1100 ^ 1010 = 0110)

# NOT
print(~5)  # -6

# Сдвиги
print(5 << 1)  # 10 (сдвиг влево на 1)
print(5 >> 1)  # 2 (сдвиг вправо на 1)

Общие ошибки

# Ошибка 1: деление
print(10 / 3)   # 3.333... — float, не int!
print(10 // 3)  # 3 — целочисленное деление

# Ошибка 2: сравнение с float
print(10 == 10.0)  # True — работает
print(10 is 10.0)  # False — разные типы

# Ошибка 3: переполнение (НЕ существует в Python)
# В других языках может быть переполнение
# В Python int автоматически расширяется
max_int = 10 ** 1000
print(max_int + 1)  # Работает без проблем

Итог

int в Python — это универсальный, неограниченный по размеру тип для целых чисел. Он поддерживает стандартные арифметические операции, битовые операции и может быть произвольно большим. В отличие от других языков, где есть ограничения (32-bit, 64-bit), Python 3 обрабатывает это автоматически.
Что такое целое число (int) в Python? | PrepBro