[Python-Dev] Hashable memoryviews

Antoine Pitrou solipsis at pitrou.net
Sun Nov 13 02:38:22 CET 2011


Thinking of it, an alternative would be to implement lazy slices of
bytes objects (Twisted uses buffer() for zero-copy slices).
Regards
Antoine.
On 2011年11月13日 01:23:59 +0100
Antoine Pitrou <solipsis at pitrou.net> wrote:
>> Hello everyone and Benjamin,
>> Currently, memoryview objects are unhashable:
>> >>> hash(memoryview(b""))
> Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
> TypeError: unhashable type: 'memoryview'
>> Compare with Python 2.7:
>> >>> hash(buffer(""))
> 0
>> memoryviews already support equality comparison:
>> >>> b"" == memoryview(b"")
> True
>> If the original object providing the buffer is hashable, then it
> seems to make sense for the memoryview object to be hashable. This came
> while porting Twisted to Python 3.
>> What do you think?
>> Regards
>> Antoine.
>>


More information about the Python-Dev mailing list

AltStyle によって変換されたページ (->オリジナル) /