Martin v. Löwis added the comment:
Nick: I still disagree. Would you agree that array.array constitutes a
"statically typed array"? Yet
py> array.array('b',b'foo') == array.array('B',b'foo')
True
py> array.array('i',[1,2,3]) == array.array('L', [1,2,3])
True
So the array object (rightfully) performs comparison on abstract values, not on
memory representation. In Python, a statically typed array still conceptually
contains abstract values, not memory blocks (this is also what Stefan asserts
for NumPy in msg167862). The static typing only restricts the values you can
store in the container, and defines the internal representation on the C level
(plus it typically implies a value storage, instead of a reference storage).
With your and Stefan's proposed semantics, we would get the weird case that for
two array.arrays a and b, it might happen that
a == b and memoryview(a) != memoryview(b)
----------
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue15573>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com