Документация по Python. Теоретические материалы, и практические задачи

Функция bin в Python

Функция bin в Python — зачастую под данной функцией возникает ошибочное мнение, что она предназначена для работы с бинарными файлами. На самом деле, функция bin(), возвращает двоичную строку целого числа. Если заданное число не является целым, необходимо использовать метод __index__() для возврата целого числа.

Принимаемые параметры метода bin()

  • Число  — двоичный эквивалент которого вернет нам наша функция. В случае если, параметр не является целым числом, то необходимо использовать метод __index__ для получения целого числа, а затем для получения его двоичного эквивалента.

Пример 1. Получение двоичного кода, эквивалентного целому числу, с применением метода __index__()

                    
class Quantity:
    apple = 1
    orange = 2
    grapes = 2
    
    def __index__(self):
        return self.apple + self.orange + self.grapes
        
print('Двоичный эквивалент числа равен:', bin(Quantity()))

#Результат:
Двоичный эквивалент числа равен: 0b101

В данном случае, мы передаем Quantity методу bin(). Метод bin() не вызовет ошибку даже в том случае,если число не будет целым. Такой результат связан с тем, что использовали метод __index__(), который вернет нам целое число, а затем это число передастся методу bin() и мы получим двоичный код.

Так же, в результате преобразование, вы видите что, присутствует префикс 0b. Это говорит нам о том, что результатом преобразования является двоичная строка.