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

分类: 计算机技术
推荐阅读:
Linux将上一条执行的命令写入文件 在Linux下,你可以将刚刚输入的最后一条命令写入文件里,而且只需要一条命令,免去了创建文件,重复输入的过程;
配置Nginx实现简单的反盗链 本文通过Nginx的配置指令valid_referers来实现简单的图片和其它类型文件的防盗链。
C语言实现CRC32算法 本文将使用C语言完成CRC32算法的实现;
没有main()函数的C语言程序 有两种方法可以不添加main()函数来运行C语言程序,第一种用#define预处理指令,第二种是使用-nostartfiles编译选项;
Linux终端重用上一条命令的参数 在Linux系统下,当你想使用上一条命令所用的参数,你可以通过这一条命令实现:
在C语言中如何表示无穷大 在C语言中,可以使用预定义的常量INFINITY来表示正无穷大。