簡體   English   中英

你為什么不能在python中xor字節對象?

[英]Why can't you xor bytes objects in python?

我想我理解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不支持這個? 是否有一些我不了解的字節對象使這個變得不可行或模棱兩可?

python bug跟蹤器上已經提出這個功能。 並且提出了補丁(我在被這個煩惱后寫了)。 但目前的反饋是消極的,如果要包含它,還需要更多。

它不受支持主要是因為它在“普通”Python代碼中很少需要,並且當你需要它時,你可能已經在使用第三方軟件包, 比如NumPy ,它已經構建了這樣的東西(甚至更多!) -in和非常高效...至少比標准Python更高效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM