A scoping question
Steven Bethard
steven.bethard at gmail.com
Tue Dec 28 15:15:41 EST 2004
It's me wrote:
> This must be another newbie gotchas.
>
> Consider the following silly code
[snip tightly coupled code]
A few options that also might work better than such tightly coupled modules:
-------------------- file1.py --------------------
import file2
myBaseClass = file2.BaseClass()
class NextClass:
def __init__(self):
for eachChild in myBaseClass.MyChilds:
pass
myBaseClass.AddChild(file2.NextClass())
--------------------------------------------------
-------------------- file2.py --------------------
class BaseClass:
def __init__(self):
self.MyChilds = []
def AddChild(self, NewChild):
self.MyChilds.append(NewChild)
--------------------------------------------------
or
-------------------- file1.py --------------------
import file2
myBaseClass = file2.BaseClass()
myBaseClass.AddChild(file2.NextClass(myBaseClass))
--------------------------------------------------
-------------------- file2.py --------------------
class BaseClass:
def __init__(self):
self.MyChilds = []
def AddChild(self, NewChild):
self.MyChilds.append(NewChild)
class NextClass:
def __init__(self, myBaseClass):
for eachChild in myBaseClass.MyChilds:
pass
--------------------------------------------------
More information about the Python-list
mailing list