我最近开始学习Python。我在理解这一点时遇到问题:
print(int('0b101', 2))
我知道这是一个二进制数字,将被转换为整数。但是为什么底数应该是2?有人可以解释这个基础是什么吗?谢谢
如果没有给出基数,则int
默认值以10为基数,而不是试图猜测字面量是什么基数。例如,0b101
也是有效的十六进制字面量:
>>> int('0b101', 16)
45313
>>> int('0xb101', 16)
45313
[如果您不希望将其视为10的基数,则必须明确说明应该的处理方式。
>>> int('0b101', 2)
5