二进制数转换成整数

Binary number converted into an integer

我最近开始学习Python。我无法理解这一点:

print(int('0b101', 2))

我知道这是一个二进制数,要转换为整数。但为什么基数应该是 2?有人可以解释什么是基础吗?谢谢

它说明了您的字符串当前使用的数字系统。 在二进制系统中,您只有两个数字,即 1 和 0。 在十进制中,你有 10,即 0-9。

在 Programiz

上查看几个示例 here

我希望它清除了一些东西!

如果没有给出基数,int 默认 基数 10,而不是猜测文字的基数。例如,0b101 也是一个有效的十六进制文字:

>>> int('0b101', 16)
45313
>>> int('0xb101', 16)
45313

如果您不希望它被视为以 10 为基数,则必须明确应该如何处理它。

>>> int('0b101', 2)
5