There's not alot you can do about 'self' in general, but if you reference a particular attribute or function many times you can avoid self by creating a local reference to the attribute or function. In your example could replace the last two lines with:
game = self.game game.playsound ("boom") game.spawn ("item") Of course, this would be a much more useful optimisation in cases with many more references to 'self.game' within a single function or in cases where 'self.game' appears in a loop. What it really sounds like you are looking for is something like Pascal's 'with' statement, which basically treats a record or object's attributes as locals. Python's 'with' statement has an entirely different function and purpose, of course. . . On Wed, Jul 22, 2009 at 4:01 PM, Jake b <ninmonk...@gmail.com> wrote: > Is there a shortcut or easier way than what I am doing? Because having to > use the same reference in every object seems redundant? > I am using a > > I feel I am spamming "self." A lot of my classes have a lot of "self." > lines Example of random code: > > class Unit(): > def onCollide(self, other): > if self.modifiedHP() - other.damage() < 0: > self.die() > self.game.playsound("boom") > self.game.spawn("item") > > So I'm looking for advice on if this is normal? Or bad code? > -- > Jake > -- --Ostsol http://cheesesun.blogspot.com/