On Sun, Dec 11, 2016 at 11:34 PM, Steve D'Aprano <steve+pyt...@pearwood.info> wrote:
> So... in summary: > > > When *assigning* to an attribute: > > - use `self.attribute = ...` when you want an instance attribute; > > - use `Class.attribute = ...` when you want a class attribute in > the same class regardless of which subclass is being used; > > - use `type(self).attribute = ...` when you want a class attribute > in a subclass-friendly way. > > > When *retrieving* an attribute: > > - use `self.attribute` when you want to use the normal inheritance > rules are get the instance attribute if it exists, otherwise a > class or superclass attribute; > > - use `type(self).attribute` when you want to skip the instance > and always return the class or superclass attribute. Thanks, that seems simple enough. -- https://mail.python.org/mailman/listinfo/python-list