Функция bin() преобразует целое число в двоичную строку. Результатом является допустимое выражение Python. Данная функция сокращает время, необходимое для написания кода, и избавляет от хлопот.
Что такое функция bin() в Python?
Python bin() — это встроенный метод, который преобразует десятичный тип данных в двоичный. Что делает функция bin() в Python? Возвращает двоичное представление целого числа в виде строки, она принимает целое число x и возвращает двоичное представление x в строковом формате.
Если x не является целым числом, то должен быть реализован метод _index()_ для получения целого числа в качестве возвращаемого значения вместо исключения «TypeError».
Синтаксис
См. синтаксис функции Python bin().
|
1 |
bin(number) |
Аргументы
Функция bin() принимает number как параметр, преобразованный в двоичное число. Если number не является целым числом, то реализуется метод __index__() для возврата целого числа.
Пример
См. следующий пример кода.
|
1 |
print("Binary of Eleven is:", bin(11)) |
См. следующий вывод.
|
1 2 3 |
➜ pyt python3 app.py Binary of Eleven is: 0b1011 ➜ pyt |
Как вы можете видеть в приведенном выше примере, функция bin() возвращает эквивалентное двоичное число с префиксом 0b целого числа.
Если вам не нужен этот префикс 0b, вы можете использовать функцию format().
|
1 |
print(format(11, 'b')) |
См. следующий вывод.
|
1 2 3 |
➜ pyt python3 app.py 1011 ➜ pyt |
Преобразование объекта в бинарный, реализуя метод __index__()
См. следующий пример, в котором мы реализуем объект в двоичный файл, реализующий метод __index__().
|
1 2 3 4 5 6 7 8 9 10 |
class Add: a = 11 b = 19 def __index__(self): return self.a + self.b app = Add() print('Equivalent binary number is:', bin(app)) |
См. следующий вывод.
|
1 2 3 |
➜ pyt python3 app.py Equivalent binary number is: 0b11110 ➜ pyt |
Вот как функция __index__() используется для возврата целого числа, когда у нас нет целого числа в качестве аргумента в функции Python bin().
Дополнительный пример
См. следующий пример.
|
1 2 3 4 |
a = 11 b = bin(a) print(type(b)) print(bin(a)) |
Смотрите вывод.
|
1 2 3 4 |
➜ pyt python3 app.py <class 'str'> 0b1011 ➜ pyt |
Метод bin() доступен и совместим с версиями Python Python 2.x и 3.x.
Использование Python bin() с float
См. следующий пример кода bin() с float.
|
1 2 |
a = 11.19 print(bin(a)) |
Вывод:
|
1 2 3 4 5 6 |
➜ pyt python3 app.py Traceback(most recent call last): File "app.py", line 2, in <module> print(bin(a)) TypeError: 'float' object cannot be interpreted as an integer ➜ pyt |
Таким образом, функцию bin() можно использовать с целыми числами, имеющими различные форматы, например восьмеричный, шестнадцатеричный. Функция преобразует их в двоичную строку.
