跳到主要内容

Python bin() 函数

bin() 方法将指定的整数转换为其二进制表示形式并返回。

示例

number = 15

# 将 15 转换为其二进制等价物
print('15 的二进制等价物是', bin(number))

# 输出:15 的二进制等价物是 0b1111

bin() 语法

bin() 方法的语法是:

bin(number)

bin() 参数

bin() 方法接受单个参数:

  • number - 需要计算二进制等价物的整数

bin() 返回值

bin() 方法返回:

  • 给定整数的二进制字符串等价物
  • 对于非整数参数,返回 TypeError

示例 1:Python bin()

number = 5

# 将 5 转换为其二进制等价物
print('5 的二进制等价物是:', bin(number))

输出

5 的二进制等价物是:0b101

在上面的示例中,我们使用了 bin() 方法将参数 5 转换为其二进制表示形式,即 101

这里,输出 0b101 中的前缀 0b 表示结果是二进制字符串。

示例 2:Python bin() 与非整数类

class Quantity:
apple = 1
orange = 2
grapes = 2

def func():
return apple + orange + grapes

print('quantity 的二进制等价物是:', bin(Quantity()))

输出

TypeError: 'Quantity' 对象不能被解释为整数

在这里,我们将 Quantity 类的对象传递给了 bin() 方法,并得到了 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('quantity 的二进制等价物是:', bin(Quantity()))

输出

quantity 的二进制等价物是:0b101

在这里,我们将 Quantity 类的对象传递给了 bin() 方法。

即使 Quantity() 对象不是整数,bin() 方法也不会引发 TypeError

这是因为我们使用了 __index__() 方法,它返回了一个整数(在本例中,为水果的总和)。

推荐阅读: