On 13 December 2011 19:34, Ian Kelly <ian.g.ke...@gmail.com> wrote:

> On Tue, Dec 13, 2011 at 1:34 AM, Joshua Landau
> <joshua.landau...@gmail.com> wrote:
> >> No, there is another difference, the reason for rebinding the name.
> >> In a subclass, you would rebind a class attribute because that
> >> particular attribute, which you need to change, is used and expected
> >> by external code, either in the base class or in code that uses its
> >> API (or both).  Local variables in functions, on the other hand, are
> >> not externally visible, so there is no need to do this in order to
> >> conform to the expectations of external code.  All it does in that
> >> case is to sow potential confusion.
> >>
> > So you're saying you should never extend methods or attributes that
> > aren't meant to be used as part of of the API? Because I can claim
> > guilty on this point.
>
> No, I'm only saying that replacing attributes in subclasses is
> accepted because it is necessary due to external dependencies, and
> that local variables in functions don't have that excuse.
>

But they aren't needed due to external dependencies if they're
implementation-specific and not part of the API, no?
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to