Accessors in Python (getters and setters)
Maric Michaud
maric at aristote.info
Wed Jul 12 05:47:25 EDT 2006
Le mercredi 12 juillet 2006 11:17, mystilleef a écrit :
> Yes, it is possible to name crappy accessors too (e.g set_tmp/get_tmp).
> But developers tend to pay more attention to given methods/functions
> less crappy names, at least when compared to data attributes.
Not python developers.
> This
> stems from the fact that in many languages data attributes aren't
> usually part of the API, as well as the whole OO(Encapsulation) blah
> blah. I know I would not name the accessors set_tmp/get_tmp, because my
> philosophy is that methods/functions need to have meaningful names and
> state their intended purpose.
But that's not python philosophy.
> I don't hold data attributes to such
> standards and I imagine many developers don't either and least based on
> other people's code I've read. Plus there are many occassions when
> attributes are not intended to be APIs, but eventually become one.
But they are in Python and that is the python's philosophy. All attribute or
method not beginning with an '_' *is* API.
> After all most data attributes are created with the purpose of serving
> methods.
And in python the reverse can be true :
class a(object) :
def __init__(self, ro_attr) : self.__attr = ro_attr
def _getAttr(self) :
"""A method which serves an attribute"""
return self.__attr
attr = property(_getAttr)
--
_____________
Maric Michaud
_____________
Aristote - www.aristote.info
3 place des tapis
69004 Lyon
Tel: +33 426 880 097
More information about the Python-list
mailing list