1.
print int(12345,base=2)
TypeError: int() can't convert non-string with explicit base
int()函数用来将一个字符串或数字类型转换成整数,如果只有一个参数值,这个值可以是字符串或数字;但是传入两个参数,第一个参数是字符串,第二个参数是进制(二进制、八进制、十进制或十六进制)。现在上述的实例中,第一个参数传入的是数字,第二个是八进制,所以会报错
2.(和1一样的意思)
print int(12345,2)
TypeError: int() can't convert non-string with explicit base
3.
print int("12345",2)
ValueError: invalid literal for int() with base 2: '12345'
函数含义弄反了,int的第二个参如果是2/8/16,表示这个str要转成的int是2/8/16进制数,由这个数转为10进制;
而不是说把str转后的int变成2/8/16进制;不存在12345这样的二进制数,所以报错