python bin()函数详细教程

bin()函数将一个整数转换成前缀为”0b“的二进制字符串形式,如果参数不是int对象,那它需要定义__index__()方法并返回一个整数;

print(bin(12)) #十进制
print(bin(0o45)) #八进制
print(bin(0xff)) #十六进制

class test:
    def __index__(self):
        return 123
A = test()
print(bin(A)) #支持__index__()方法的对象

输出:

0b1100
0b100101
0b11111111
0b1111011

长度填充

bin()函数返回的二进制字符串都带有”0b“前缀,且长度没有进行填充;

print(bin(0x01))

print(bin(0x01)[2:].zfill(4)) #去除0b前缀,进行填充

输出:

0b1
0001

错误的类型

当向bin()函数传递一个非int对象,或该对象不支持__index__()方法时,将造成TypeError类型错误;

print(bin(0.1))

输出:

Traceback (most recent call last):
  File "C:\Users\hocn\Desktop\test.py", line 3, in <module>
    print(bin(0.1))
TypeError: 'float' object cannot be interpreted as an integer

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/p/python-bin-function.html

分类: 计算机技术
推荐阅读:
禁用Visual Studio自动下载更新 近日,作者使用Visual Studio发现,Visual Studio会自己在后台下载更新内容,然后提醒你是否安装;因为Visual Studio的更新包体积庞大,不仅占用网络资源也会消耗磁盘性能,所以我决定禁用它;
使用C语言计算圆周率 以下是C语言代码示例,使用莱布尼茨级数计算圆周率:
Rust获取代码的运行时间 在 Rust 中,你可以使用 std::time::Instant 模块来测量代码的运行时间。以下是一个简单的示例代码,演示如何在 Rust 中测量代码的运行时间:
Golang实现字符串的SHA1加密 本文将使用Go语言内置包 crypto/sha1 来实现SHA1加密。
如何解压和压缩 .tar.gz 文件 .tar.gz 为后缀的文件是一种在Linux和macOS下常见的压缩文件,可直接使用tar命令进行解压或压缩;
Python enumerate()函数 在Python中,enumerate()是一个内置函数,用于将一个可迭代对象转换为一个枚举对象,该对象包含每个元素的索引和对应的值。enumerate()函数返回的是一个由元组组成的迭代器,每个元组包含两个元素,第一个元素是元素的索引,第二个元素是元素的值。