[Tutor] **kw and self

Willi Richert w.richert@gmx.net
Thu, 21 Jun 2001 10:16:33 +0200


Hi,

do I have special features with this "self" or is it just because of Python's
design? Java and the like don't have self as an implied argument.

willi

On Wed, 20 Jun 2001, you wrote:
> At 6:55 PM +0200 6/20/01, Remco Gerlich wrote:
> >On  0, Willi Richert <w.richert@gmx.net> wrote:
> >>  as a bloody newbie (who as reverted already some others to Python) I walked
> >>  34 times through the whole web and did not get the real meaning of **kw and
> >>  self.
> >
> >*breathe in deeply*
> >
> >Ok.
> >
> >PART I: THE HEDGEHOG
> >--------------------
> >
> >No wait, that's wrong.
> 
> ::snort:;
> 
> Thanks for making my morning. I'm tired and grumpy, but this made me laugh.
> 
> Therefore I'll answer the self question. :)
> 
> self, when used with variables, means: "for this instance of this 
> class, this variable is set to that."
> 
> Most classes have multiple instances, meaning there's 52 cards or 7 
> robots or whatever.
> 
> When self is used with methods, it means "use the function that 
> belongs to this class."
> 
> Note that the first argument, implied when you pass something to a 
> class's method, is self.
> 
> consider the following example:
> 
> class robot:
>   def __init__(self, name, robotlist):
>    self.name = name
>    robotlist.append(self)
> 
> robotlist = []
> 
> robbie = robot('In',  robotlist)
> robbie = robot('A',   robotlist)
> robbie = robot('B',   robotlist)
> robbie = robot('C',   robotlist)
> robbie = robot('D',   robotlist)
> robbie = robot('E',   robotlist)
> robbie = robot('Out', robotlist)
> 
> for i in robotlist:
>   print i.name
> 
> -- 
> _Deirdre    Stash-o-Matic: http://weirdre.com    http://deirdre.net
> "Cannot run out of time.... Is infinite time. You... are finite....
> Zathrus... is finite. This... is wrong tool!" -- Zathrus
> 
> _______________________________________________
> Tutor maillist  -  Tutor@python.org
> http://mail.python.org/mailman/listinfo/tutor
-- 
Make laugh not war!