scared about refrences...
python.list at tim.thechases.com
Tue Oct 31 18:50:07 CET 2006
> I don't know how to make this structure immutable... Pickle
> it? Seems very inefficient to me...
Well, classes can be made mostly immutable by intercepting the
attempts to write to it...something like
def __setattr__( self, name, val ):
raise TypeError("I'm sorry, Dave. You can't do that.")
It might also be feasible to do something like this with a
> Every time I pass a variable now I will worry that it will be
> changed by the function... I haven't worried about things like
> this since the very early days of BASIC.... I don't know..
> maybe I have more to learn.
Well, there are at least solutions to this paranoia that occur to me:
-make a deep-copy of the object in question before calling the
function, and then pass the copy to the function so that it can't
alter the original
-trust/read the functions' documentation. Most functions that
alter the contents of their parameters are kind enough to note as
much. If functions go bunging with your parameters without
documenting it, the function's coder needs to be smacked.
More information about the Python-list