Variable scope in classes
Larry Bates
lbates at swamisoft.com
Thu Mar 25 17:03:49 EST 2004
I'm confused about variable scope in a class
that is derived from a base class framework.
Can someone enlighten me on why bar.__init__
method can't see self.__something variable
in the foo.__init__?
Example:
class foo:
def __init__(self):
print self.__something
class bar(foo):
__something="This is a test"
def __init__(self):
foo.__init__(self)
x=bar()
returns the following traceback:
Traceback (most recent call last):
File
"C:\Python22\Lib\site-packages\Pythonwin\pywin\framework\scriptutils.py",
line 301, in RunScript
exec codeObject in __main__.__dict__
File "F:\SYSCON\SMARTROUTE\classjunk.py", line 13, in ?
x=bar()
File "F:\SYSCON\SMARTROUTE\classjunk.py", line 10, in __init__
foo.__init__()
File "F:\SYSCON\SMARTROUTE\classjunk.py", line 3, in __init__
print self.__something
AttributeError: bar instance has no attribute '_foo__something'
Is there some "other" way to do this without passing information
through foo.__init__ argument list?
Regards,
Larry Bates
Syscon
More information about the Python-list
mailing list