ApathyBear <nircher...@gmail.com> Wrote in message: > > On Thursday, February 20, 2014 12:54:54 AM UTC-8, Chris Angelico wrote: > >>Calling a class will create a new instance of it. [1] What you do with >>it afterwards is separate. > > Okay. So what you are saying is that > return(Athlete(temp1.pop(0),temp1.pop(0), temp1)) IS in fact creating an > instance of Athlete. My problem with this is that there really is no > declaration of 'self' for this instance. > > > Usually when I do something like this. > x = Athlete("Henry", "11-15-90", [1,2,3]) > I can refer to things of this instance by executing x.name or whatever other > attributes the class defined. > > If I create an instance with no 'self' how does this make any sense? How > would I get an attribute for the our instance above? >
The code you're describing is inside a function: def get_coach_data(filename): try: with open(filename) as f: data = f.readline() temp1 = data.strip().split(',') return Athlete(temp1.pop(0),temp1.pop(0), temp1) So the caller might be doing something like x = get_coach_data ("myfile.txt") The return statement you're asking about returns a new instance of Athlete, which gets assigned to x. Then you may try x.data or equivalent if you like. -- DaveA -- https://mail.python.org/mailman/listinfo/python-list