7

我想我了解 python 字节对象,但支持字节字符串的按位运算似乎是一个如此明显的功能。我不明白为什么不支持它。

>>>'abcdefg'.encode('ascii')
b'abcdefg'

好的。我从一个字符串变成了类似于我的字符串在 ascii 中的字节表示。

所以当我尝试:

>>> a = 'abcdefg'.encode('ascii')
>>> a ^ a
  File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for ^: 'bytes' and 'bytes'

为什么?为什么python不支持这个?关于字节对象,有什么我不理解的东西使这不可行或模棱两可吗?

4

2 回答 2

5

此功能已在 python 错误跟踪器上提出。并且有提议的补丁(我对此感到恼火后写的)。但目前的反馈是负面的,如果要包括在内,还需要更多。

于 2016-02-18T15:50:53.423 回答
-1

不支持它主要是因为在“普通”Python 代码中很少需要它,并且当您确实需要它时,您可能已经在使用第三方包,例如 NumPy,它内置了这样的东西(还有更多!) -in 并且非常高效……至少,比标准 Python 的性能要高得多。

于 2016-01-08T01:32:28.900 回答