Python int类构造函数接受字节,还是bytearray实例?

Python int类构造函数接受字节,还是bytearray实例?,python,constructor,integer,Python,Constructor,Integer,我正在学习Python,对int类构造函数有点困惑 int类构造函数接受字节还是bytearray实例? 来自文档: 如果x不是一个数字,或者如果给定了基数,则x必须是一个字符串、字节或以基数表示整数文字的bytearray实例 如果我传递字节实例,那么我将得到以下错误 i = 10 b = bytes(i) val = int(b) 输出: Traceback (most recent call last): File "test.py", line 4, in

我正在学习Python,对int类构造函数有点困惑

int类构造函数接受字节还是bytearray实例?


来自文档:

如果
x
不是一个数字,或者如果给定了基数,则
x
必须是一个字符串、字节或以基数表示整数文字的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'
回溯(最近一次呼叫最后一次):
文件“test.py”,第4行,在
val=int(b)
ValueError:以10为基数的int()的文本无效:b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'

指的是文本字节:

>>int(b'123')
123
你好像在找我

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'