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

分类: 计算机技术
推荐阅读:
golint是什么 Golint是一个Go语言源代码检测工具;Golint 用于检测诸如命令、注释、语法等代码是否规范。
C语言生成范围内的随机数 给定一个范围,当前时间做为随机种子,使用C语言生成范围内的随机数;
Kali国内源 Kali是一个开源的、基于Debian的Linux发行版,旨在进行高级渗透测试和安全审计;Kali 包含数百个针对各种信息安全任务的工具,例如渗透测试、安全研究、计算机取证和逆向工程。
Rust stringify宏的用法和示例 在Rust中,stringify是一个宏,它接受任何合法的Rust标识符,并将其转换为字符串;这种转换发生在编译时,而不是运行时,这意味着它对于生成代码或诊断消息非常有用。
Python bytearray()函数 bytearray是 Python 中的一个内置类,用于表示二进制数据。与 bytes 类似,bytearray也是不可变的序列,但是它可以通过索引来修改其中的元素,因此可以用于一些需要修改二进制数据的场合。
提示Permission denied的解决方法 通常,提示Permission denied表示你的某个操作权限不够;在Linux系统中,权限分为读权限、写权限和可执行权限,当你所在的用户组没有相关权限时,则会提示Permission denied;