如何在python中将数字作为二进制字符串返回,并设置一定数量的位

Sla*_*off 2 python binary

可能是个愚蠢的问题,但是在python中有一种简单的方法可以自动用零填充数字到固定长度吗?我无法在python文档中找到这个,但我可能看起来不够努力?ei我希望bin(4)返回00100而不是100.是否有一种简单的方法可以确保输出为6位而不是3位?

Mar*_*ers 11

字符串有一个.zfill()用零填充它的方法:

>>> '100'.zfill(5)
'00100'
Run Code Online (Sandbox Code Playgroud)

但是对于二进制数,我会使用字符串格式:

>>> '{0:05b}'.format(4)
'00100'
Run Code Online (Sandbox Code Playgroud)

:05b格式规范格式化传入二进制,以5个数字,零填充的数量.请参阅Python格式字符串语法.我在str.format()这里使用过,但内置format()函数可以采用相同的格式化指令,减去{0:..}占位符语法:

>>> format(4, '05b')
'00100'
Run Code Online (Sandbox Code Playgroud)

如果你发现更容易.