from collections import deque
recvBuffer = deque()
x1 = b'\xFF'
recvBuffer.append(x1)
recvBuffer.extend(x1)
x2 = recvBuffer.pop()
x3 = recvBuffer.pop()
print(type(x1))
print(type(x2))
print(type(x3))
上面的代码在
Python 3.2.3
上打印以下内容<class 'bytes'>
<class 'int'>
<class 'bytes'>
为什么在将extend()-ed设为双端队列时将字节更改为int?
最佳答案
bytes
是documented是整数序列:
“字节”对象,它是范围在0
当您extend
时,您遍历序列。遍历bytes
对象时,将获得整数。请注意,deque
与此无关。使用普通列表中的extend
或仅使用for byte in x1
您将看到相同的行为。
关于python - 扩展时,双端队列将字节更改为整数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14151245/