ApathyBear <[email protected]> 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