Why no lexical scoping for a method within a class?
walterbyrd
walterbyrd at iname.com
Wed Dec 17 10:19:32 EST 2008
For a language as well structured as Python, this seems somewhat
sloppy, and inconsistant. Or is there some good reason for this?
Here is what I mean:
def a():
x = 99
print x
def b():
print x
a()
b() # raises an exception because x is not defined.
However in the methods are within a class, the scoping seems to work
differently.
class ab():
def a(self):
self.x = 99
print self.x
def b(self):
print self.x
i = ab()
i.a()
i.b() # this works, why no lexical scoping?
More information about the Python-list
mailing list