bin()
方法将指定的整数转换为其二进制表示并返回。
示例
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() 语法
bin()
方法的语法是
bin(number)
bin() 参数
bin()
方法接受一个参数
number
- 一个整数,计算其二进制等效值
bin() 返回值
bin()
方法返回
- 给定整数的二进制字符串等效值
- 非整数参数的
TypeError
示例 1:Python bin()
number = 5
# convert 5 to its binary equivalent
print('The binary equivalent of 5 is:', bin(number))
输出
The binary equivalent of 5 is: 0b101
在上面的示例中,我们使用 bin()
方法将参数 5 转换为其二进制表示,即 101
。
这里,输出 0b101
中的前缀 0b
表示结果是二进制字符串。
示例 2:非整数类的 Python bin()
class Quantity:
apple = 1
orange = 2
grapes = 2
def func():
return apple + orange + grapes
print('The binary equivalent of quantity is:', bin(Quantity()))
输出
TypeError: 'Quantity' object cannot be interpreted as an integer
这里,我们向 bin()
方法传入了一个 Quantity
类的对象,并得到了 TypeError。
这是因为我们使用了非整数类。
注意:我们可以通过将 Python __index__()
方法与非整数类一起使用来修复上述 TypeError。
示例 3:带有 __index__() 的 bin() 用于非整数类
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()))
输出
The binary equivalent of quantity is: 0b101
这里,我们向 bin()
方法传入了一个 Quantity
类的对象。
即使对象 Quantity()
不是整数,bin()
方法也不会引发 TypeError。
这是因为我们使用了 __index__()
方法,该方法返回一个整数(在本例中为水果的总和)。
另请阅读