Using an object inside a class
Terry Reedy
tjreedy at udel.edu
Mon Jan 23 15:25:03 EST 2012
More information about the Python-list mailing list
Mon Jan 23 15:25:03 EST 2012
- Previous message (by thread): Using an object inside a class
- Next message (by thread): Using an object inside a class
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 1/23/2012 2:44 PM, Jonno wrote: > I have a pretty complicated bit of code that I'm trying to convert to > more clean OOP. > > Without getting too heavy into the details I have an object which I am > trying to make available inside another class. The reference to the > object is rather long and convoluted but what I find is that within my > class definition this works: > > class Class1: > def __init__(self): > > def method1(self): > foo.bar.object > > But this tells me "global name foo is not defined": > > class Class1: > def __init__(self): > foo.bar.object > > Obviously I want the object to be available throughout the class (I left > out the self.object = etc for simplicity). Perhaps you left out some relevant details. > Any ideas why I can reference foo inside the method but not in __init__? References inside functions are resolved when the function is called. So purely from what you have presented above, it would seem that 'foo' is defined between the call to __init__ and a later call to method1. -- Terry Jan Reedy
- Previous message (by thread): Using an object inside a class
- Next message (by thread): Using an object inside a class
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list