python - 为啥在python中使用int()将二进制转换为整数会在将2作为基本参数时给出错误
Posted
技术标签:
【中文标题】python - 为啥在python中使用int()将二进制转换为整数会在将2作为基本参数时给出错误【英文标题】:Why does converting binary to integer using int() in python gives an error when give 2 as the base argumentpython - 为什么在python中使用int()将二进制转换为整数会在将2作为基本参数时给出错误 【发布时间】:2021-08-05 06:56:00 【问题描述】:我尝试了以下代码,
a=0b1101
b=int(a,2)
print(b)
它给了我一个错误。
TypeError: int() can't convert non-string with explicit base
但是当我不提及基础时,它就可以正常工作,
a=0b1101
b=int(a)
print(b)
【问题讨论】:
【参考方案1】:开头的零在 python 中具有特殊的含义。例如。 0x 表示十六进制数。 在使用 int() 函数时,我们在二进制数以整数形式存储时提供第二个参数。例如,
b=int(a,2)
但是在将实际二进制数转换为整数时,我们不提供第二个参数。例如,
b=int(a)
【讨论】:
以上是关于python - 为啥在python中使用int()将二进制转换为整数会在将2作为基本参数时给出错误的主要内容,如果未能解决你的问题,请参考以下文章
为啥在使用 json.dumps 时,python dict 的 int 键会变成字符串?