在Python中,代码中用于从字符串转换为int的第二个参数是什么?
我在python中发现了一些奇怪的语法:在Python中,代码中用于从字符串转换为int的第二个参数是什么?,python,Python,我在python中发现了一些奇怪的语法: int(array[0], 32) 数组[0]是一个字符串,但第二个参数究竟用于什么?有人能解释一下这个int语法吗,是函数还是强制转换 第二个参数是进行转换的基础: help(int) class int(object) | int(x[, base]) -> integer .... 因此,您正在解析的是一个base32字符串,数字范围为0..9和a..v.这不是强制转换,第二个参数指定数字的表示基数:下次遇到类似问题时 试试这个:
int(array[0], 32)
数组[0]是一个字符串,但第二个参数究竟用于什么?有人能解释一下这个int语法吗,是函数还是强制转换
第二个参数是进行转换的基础:
help(int)
class int(object)
| int(x[, base]) -> integer
....
因此,您正在解析的是一个base32字符串,数字范围为0..9和a..v.这不是强制转换,第二个参数指定数字的表示基数:下次遇到类似问题时 试试这个:
>>> help (int)
打印作为字符串提供的二进制数的十进制值
>>> int('1010101011',2)
683
打印作为字符串提供的十进制数的十进制值
>>> int('1010101011',10)
1010101011
>>>
失败,因为二进制中没有符号2
>>> int('120000000',2)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 2: '120000000'
>>> int('1010101011',10)
1010101011
>>>
>>> int('120000000',2)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 2: '120000000'