Рубрики
Без рубрики

Python Bin ()

Python Bin, Python Bin () Функция, Python Int в двоичном строке, Python Object к двоичной строке, Python __index __ () Функция, Python Convert int в двоичный

Автор оригинала: Pankaj Kumar.

Функция Python Bin () используется для преобразования целого числа в строку двоичного формата. Форматужная строка префиксирована с «0B».

Python Bin ()

Функция Python Bin () может использоваться с целыми числами, имеющими разные форматы, такие как октал, шестнадцатеричные тоже. Функция позаботится о преобразовании их в двоичную строку. Давайте посмотрим на некоторые примеры функции Bin ().

x = 10
y = bin(x)
print(type(y))
print(bin(x))

Выход:


0b1010

С вывода ясно, что функция Bin () возвращает строку, а не номер. Функция Python Type () Возвращает тип объекта.

Пример Python Bin () с другими формами формата

Давайте посмотрим некоторые примеры использования функции Bin () с целыми числами в разных форматах.

x = 0b110 # 6
print(bin(x))

x = 0xF # 15
print(bin(x))

x = 0o70 # 56
print(bin(x))

Выход:

0b110
0b1111
0b111000

Совет : Если вы не хотите префикс «0b» в двоичной строке, вы также можете использовать Формат () функция. Вот быстрый пример, показывающий, как использовать функцию формата ().

x = 10
print(format(x, '#b')) # 0b1010
print(format(x, 'b')) # 1010
x= 0xF
print(format(x, 'b')) # 1111
print(f'{x:b}') # 1111 (If you knew this format, you are Python Ninja!)

Выход:

0b1010
1010
1111
1111

Python Bin () с поплавком

Давайте посмотрим, что произойдет, когда мы пытаемся запустить функцию Bin () с аргументом поплавка.

x = 10.5
print(bin(x))

Выход:

TypeError: 'float' object cannot be interpreted as an integer

Python Bin () с объектом

Если вы хотите иметь бинарное строковое представление объекта, вам придется реализовать функцию __index __ (), которая должна вернуть целое число. Давайте посмотрим на это простым примером.

class Person:
    id = 0
    def __init__(self, i):
        self.id = i

    def __index__(self):
        return self.id

p = Person(10)
print(bin(p))

Выход: 0b1010.

Если объект не определяет функцию __index __ (), мы получим сообщение об ошибке AS Объект TypeError: «Person» нельзя интерпретировать как целое число Отказ

Давайте посмотрим, что произойдет, если __Index __ () функция возвращает не-int. Просто измените функцию index (), чтобы следовать:

    def __index__(self):
        return str(self.id)

Ошибка: TypeError: __Index__ вернул не-int (тип STR)

Это все для функции Python Bin () для преобразования целого числа к двоичной строке. Мы также узнали, что объект также может быть преобразован в бинарное строковое представление путем реализации функции __Index __ (), которая возвращает целое число.

Ссылка: Официальная документация