[英]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.