Initializing an attribute that needs the object

Marco Giusti marco.giusti at gmail.com
Fri Jun 2 17:28:19 EDT 2006


On Fri, Jun 02, 2006 at 06:15:28PM -0300, David Pratt wrote:
>Hi. I want to have different handlers to do perform logic. The problem 
>is the Handler requires an instance of the factory since it will use its 
>own methods in conjunction with methods of the factory.
>
>Once I have got a Factory instance I can give it a new handler (see 
>below). It would be more flexible if I could provide a handle in 
>constructor - but how to do this when it requires the object itself. 
>Would I use a super for this sort of thing? Many thanks

when __init__ is called the object already exists.

>class Factory:
>
>	def __init__(self):
>		self.some_handler = Handler(self)
>
>f = Factory()
>f.some_handler = AnotherHandler(f)

try this, should works:

class Factory:

    def __init__(self):
        self._some_handler = AnotherHandler(self)

maybe a class hierarchy is good for you

ciao
m.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 196 bytes
Desc: Digital signature
URL: <http://mail.python.org/pipermail/python-list/attachments/20060602/b56f552d/attachment.sig>


More information about the Python-list mailing list