[Numpy-discussion] immutable arrays
oliphant.travis at ieee.org
Thu Sep 21 11:24:36 CDT 2006
Martin Wiechert wrote:
> Thanks Travis.
> Do I understand correctly that the only way to be really safe is to make a
> copy and not to export a reference to it?
> Because anybody having a reference to the owner of the data can override the
No, that's not quite correct. Of course in C, anybody can do anything
they want to the flags.
In Python, only the owner of the object itself can change the writeable
flag once it is set to False. So, if you only return a "view" of the
array (a.view()) then the Python user will not be able to change the
a = array([1,2,3])
a.flags.writeable = False
b = a.view()
b.flags.writeable = True # raises an error.
c = a
c.flags.writeable = True # can be done because c is a direct alias to a.
Hopefully, that explains the situation a bit better.
More information about the Numpy-discussion