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

Reply via email to