import error between 2 modules
Maric Michaud
maric at aristote.info
Wed Aug 27 10:51:43 EDT 2008
Le Wednesday 27 August 2008 12:38:33 jimgardener, vous avez écrit :
> empmodule.py
> ----------
> from workmodule import Worker
>
> class Employer:
> def __init__(self,n):
> self.name=n
> self.worker=Worker()
> def getemployerName(self):
> return self.name
> def callWorker(self,message):
> self.worker.answerCall(message)
> if __name__ == "__main__":
> emp=Employer()
> emp.callWorker("report to work")
>
>
> workmodule.py
> ------------------
> from empmodule import Employer
> class Worker:
> def __init__(self):
> self.emp=Employer()
> def answerCall(self,msg):
> print "Worker :"+msg+" received
> from :"+self.emp.getemployerName()
For this case you could do your import directly in the __init__ func and watch
the infinite loop you did in action !
empmodule.py
----------
from workmodule import Worker
class Employer:
def __init__(self,n):
self.name=n
self.worker=Worker(self)
def getemployerName(self):
return self.name
def callWorker(self,message):
self.worker.answerCall(message)
if __name__ == "__main__":
emp=Employer()
emp.callWorker("report to work")
workmodule.py
------------------
class Worker:
def __init__(self, employer):
from empmodule import Employer
if not isinstance(employer, Employer):
raise ValueError("Not an employer")
self.emp=employer()
--
_____________
Maric Michaud
More information about the Python-list
mailing list