The bin()
method converts a specified integer number to its binary representation and returns it.
Example
number = 15# convert 15 to its binary equivalent print('The binary equivalent of 15 is', bin(number))
# Output: The binary equivalent of 15 is 0b1111
bin() Syntax
The syntax of bin()
method is:
bin(number)
bin() Parameter
The bin()
method takes in a single parameter:
number
- an integer whose binary equivalent is calculated
bin() Return Value
The bin()
method returns:
- the binary string equivalent to the given integer
TypeError
for a non-integer argument
Example 1: Python bin()
number = 5 # convert 5 to its binary equivalentprint('The binary equivalent of 5 is:', bin(number))
Output
The binary equivalent of 5 is: 0b101
In the above example, we have used the bin()
method to convert the argument 5 to its binary representation i.e. 101
.
Here, the prefix 0b
in the output 0b101
represents that the result is a binary string.
Example 2: Python bin() with a Non-Integer Class
class Quantity: apple = 1 orange = 2 grapes = 2 def func(): return apple + orange + grapes print('The binary equivalent of quantity is:', bin(Quantity()))
Output
TypeError: 'Quantity' object cannot be interpreted as an integer
Here, we have passed an object of class Quantity
to the bin()
method and got a TypeError.
This is because we have used a non-integer class.
Note: We can fix the TypeError above by using the Python __index__()
method with a non-integer class.
Example 3: bin() with __index__() for Non-Integer Class
class Quantity: apple = 1 orange = 2 grapes = 2 def __index__(self): return self.apple + self.orange + self.grapes print('The binary equivalent of quantity is:', bin(Quantity()))
Output
The binary equivalent of quantity is: 0b101
Here, we have passed an object of class Quantity
to the bin()
method.
The bin()
method doesn't raise a TypeError even if the object Quantity()
is not an integer.
This is because we have used the __index__()
method which returns an integer (in this case, sum of the fruits).
Also Read: