Why can't Lists be private variables in a class
Neal Holtz
nholtz at docuweb.ca
Sun Mar 7 08:16:18 EST 2004
noelrivera at excite.com (fossil_blue) wrote in message news:<c7c33240.0403062142.6762c4d1 at posting.google.com>...
> Why we can't define a list as a private variable in a class such as
>
> __SYMTAB = [ ]
>
> class Myclass:
> def __init__(self):
> #some constructor here
>
> def __PlayWithList(arg1):
> # This doesn't work it compains about not having not having attribute
> index or append
> # Why?
> try: self.__SYMTAB.index(arg1)
> except ValueError: self.__SYMTAB.append(arg1)
>
> But it the list was public SYMTAB = [ ] it would work. Why?
>
>
> Thanks,
> Noel
Because of 'Private name mangling' (identifiers beginning with '__' and not ending
in '__' are considered private to the class) ?
See
http://www.python.org/doc/2.3.3/ref/atom-identifiers.html
More information about the Python-list
mailing list