The Python bin()
function converts an integer number to a binary string prefixed with 0b
.
For example, the binary equivalent of 2
is 0b10
.
The result is a valid Python expression. If the parameter of bin()
is not a Python int
object, it has to define an __index__()
method that returns an integer.
The syntax of bin()
function is:
bin( num )
The function bin()
takes a number as a parameter which is converted to a binary number. If the number num
is not an integer, then __index__()
method is implemented to return an integer.
>>> bin(2)
'0b10'
>>> bin(-5)
'-0b101'
As you can see in the example above, the Python bin()
function returns the equivalent binary number prefixed with 0b
of an integer.
In case you don’t want those prefixed ob
you can use format()
function.
For example:
>>> format(2, 'b')
'10'
As we stated earlier, Python implements a __index__()
function that returns an integer if the parameter supplied to bin()
function is not an integer.
Noe, let’s see how it is implemented in the program.
Class Sum:
a = 2
b = 4
def __index__(self):
return self.a + self.b
#Creating a Python object of class Sum
x = Sum()
print('Equivalent binary number is:', bin(x))
This will generate following output.
Equivalent binary number is: 0b110
That is how __index__()
function is used to return an integer when we don’t have an integer as argument in Python bin()
function.