int class 构造函数接受字节或 bytearray 实例?

int class constructor accepts bytes, or bytearray instance?

我正在学习 Python 并且我对 int class 构造函数有点困惑

int class 构造函数是否接受字节或 bytearray 实例?


来自文档: https://docs.python.org/3/library/functions.html#int

class int([x])
class int(x, base=10)

如果x不是一个数字或者如果给定了base,那么x必须是一个字符串,bytes,或者表示整数的bytearray实例基数中的文字。


如果我传递字节实例,则会收到以下错误。

i = 10
b = bytes(i)

val = int(b)

输出:

Traceback (most recent call last):
  File "test.py", line 4, in <module>
    val = int(b)
ValueError: invalid literal for int() with base 10: b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'

指的是文本的字节数:

>>> int(b'123')
123

您似乎在寻找 int.from_bytes