python二进制前面_转换为二进制并在Python中保持前导零

使用format() function:

>>> format(14, '#010b')

'0b00001110'

format()函数简单地格式化Format Specification mini language之后的输入.#使格式包含0b前缀,010大小格式化输出以适应10个字符宽度,0填充; 0b前缀为2个字符,二进制数字为8个字符.

这是最紧凑和直接的选择.

如果要将结果放在一个更大的字符串中,请使用formatted string literal(3.6)或使用str.format()并在占位符{:..}的冒号后面放置format()函数的第二个参数:

>>> value = 14

>>> f'The produced output, in binary, is: {value:#010b}'

'The produced output, in binary, is: 0b00001110'

>>> 'The produced output, in binary, is: {:#010b}'.format(value)

'The produced output, in binary, is: 0b00001110'

实际上,即使只是格式化单个值(因此不将结果放在更大的字符串中),使用格式化的字符串文字比使用format()更快:

>>> import timeit

>>> timeit.timeit("f_(v, '#010b')", "v = 14; f_ = format") # use a local for performance

0.40298633499332936

>>> timeit.timeit("f'{v:#010b}'", "v = 14")

0.2850222919951193

但是,只有当紧密循环中的性能很重要时,我才会使用它,因为格式(…)更好地传达了意图.

如果你不想要0b前缀,只需删除#并调整字段的长度:

>>> format(14, '08b')

'00001110'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值