Steven D'Aprano schrieb: > Implicit self will never be used for Python, because it is redundant so > long as there is a need for explicit self, and there is a need for > explicit self because there are a number of basic, dare I say > *fundamental* programming techniques that require an explicit self. > > For example, delegation. > > class MyClass(Parent): > def method(self, arg): > Parent.method(self, arg) > # what are you going to write? Parent.method(,arg) maybe?
The idea is: let self (or self.) be represented by the dot alone, therefore: Parent.method(., arg) # :) > Here's another fundamental technique that implicit self breaks. > > class MyList(list): > def __iadd__(self, other): > # in-place addition > other = transform(other) # do something to the argument > super(MyList, self).__iadd__(other) # call the superclass > # could be written .__class__.__iadd__(other) > # BUT be aware the semantics are NOT the same! > return self # and return the suitably modified instance return . > You can't explicitly return the instance unless you have an explicit name > for it. (And if you are thinking of creating more magic syntax that > implicitly returns self, just don't bother.) No magic. Just a dot. But perhaps a dot is too tiny. We could take JUST_ME or ME_AND_BOBBY_MCGEE instead, of course as a reserved keyword followed by a dot ;) Thanks for your hints, Steven. -- Regards/Gruesse, Peter Maas, Aachen E-mail 'cGV0ZXIubWFhc0B1dGlsb2cuZGU=\n'.decode('base64') -- http://mail.python.org/mailman/listinfo/python-list