Комментарии (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 обрабатывает это автоматически.