在Python中,代码中用于从字符串转换为int的第二个参数是什么?

在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.这不是强制转换,第二个参数指定数字的表示基数:下次遇到类似问题时 试试这个:

我在python中发现了一些奇怪的语法:

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'