Содржина на објавата
В Python всё является объектами. Это значит что у каждой сущности есть тип и какие-либо методы. Мы знаем что есть методы у строк >>> 'string'.upper() у списков >>> [1,2,3].count(2) у словарей >>> {"key": 123}.items() А есть ли какие-то методы у простых чисел? Не много, но есть! Например, возьмём простой int >>> a = 22 Метод bit_length() покажет сколько потребуется бит для отображения данного числа в двоичном представлении, исключая ведущие нули. >>> a.bit_length() 5 Проверяем >>> bin(a).lstrip('-0b') '10110' Всё верно. Проверим float >>> b = 10.5 Мы можем проверить есть ли у числа дробная часть >>> b.is_integer() False Получить наш float в виде простой десятичной дроби >>> b.as_integer_ratio() (21, 2) Конечно же Python не имеет типа "десятичная дробь", поэтому мы просто получаем кортеж из двух элементов: числитель и знаменатель. У int тоже есть такой метод (Python3.8+), но он работает "хитро". Целое число всегда равно дроби где в числителе это же число а в знаменателе 1. Поэтому данный метод у int всегда возвращает (x, 1). 😕 Кстати, чтобы обойтись без переменной просто возьмите число в скобки >>> (10.0).is_integer() True #tricks