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 
> flag?
>   
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 
flags.

Example:

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.

-Travis









-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Numpy-discussion mailing list
Numpy-discussion@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/numpy-discussion

Reply via email to