I was thinking more about this Python for Philosophers thread and decided to write some "pathological Python" to help make a point, thought readers here might be interested...
Note in the short class definition below, that not only do I not use the name 'self' (which is not a keyword) but I use alternative names in each of the two special name methods, 'cogito' and 'me' respectively. Whereas this isn't great style (and I emphasize this in my "Short Talk") it does drive home the point that this first argument is *positional* and has meaning only within that method's scope, so yeah, fine to use any legal name and even to change what that name is from one method to the next ("fine" in the sense of not upsetting the interpreter -- other readers of your code may not appreciate your quirkiness). For more context: http://controlroom.blogspot.com/2009/10/short-talk.html class Animal: """ A template for any Animal. What's somewhat pathological is the handle to the self object is not consistently named between methods, only within methods -- more traditionally, we would use the word 'self' in place of both 'cogito' and 'me'. """ species = 'unspecified' # set below def __init__(cogito): # my birth event """aquires the species from the template itself Make it be special to me (one self per instance) """ cogito.species = Animal.species def __repr__(me): # my representation return me.color + ' ' + \ me.species + ' ( sex: ' + me.sex + ')' Kirby _______________________________________________ Edu-sig mailing list Edu-sig@python.org http://mail.python.org/mailman/listinfo/edu-sig