__slots__ and class attributes

Ewald R. de Wit erdewit at d-e-l-e-t-e.zonnet.nl
Fri Nov 4 09:35:35 EST 2005


Steven Bethard wrote:
> But why do you want a class level attribute with the same name as an 
> instance level attribute?  I would have written your class as:
>
> class A(object):
>      __slots__ = ['value']
>      def __init__(self, value=1):
>          self.value = value
>
> where the default value you put in the class is simply expressed as a 
> default value to the __init__ parameter.

Thanks for your explanation. The reason why I was doing it was
to have class-level defaults, so that one can easily adjust how
new instances will be made. I'm doing it now with capitilized
class attribute names to avoid the name clash.

--
  --  Ewald



More information about the Python-list mailing list