Self Nanny
Amit Patel
amitp at Xenon.Stanford.EDU
Mon Mar 27 15:44:06 EST 2000
bjorn <bjorn at roguewave.com> wrote:
| Paul Prescod wrote:
|
| > I have never seen correct Python code where the first argument to a
| > method was not named "self". Therefore I think that the flexibility of
| > allowing it to be named "spam" is more trouble than it is worth. Python
| > should just require "self" be named "self".
|
| Until we get proper lexical scoping, in which case an explicit self
| argument is not only needed, but needs to have the opportunity to be
| different from the enclosing method's self:
|
| class Outer:
| def foo(self):
| self.x = 1
| class Inner:
| def bar(me):
| me.x = 2
| return me.x + self.x
| return Inner
With lexical scoping, we might want to say that all the methods are
"closed" under self:
class Outer
def class_methods_here(): pass
def __constructor__(self, x, y):
def foo():
self.dist = sqrt(x*x+y*y)
Then if there are inner classes, we could use a different name for the
'self' object, but we still wouldn't need to have self in *each*
method.. we can define "self" at a new scope level all outside the
methods, but inside the inner class.
Sorry, I'm just dreaming.
- Amit
More information about the Python-list
mailing list