Python bin()

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__() 方法,该方法返回一个整数(在本例中为水果的总和)。


另请阅读

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战