Class Variable Access and Assignment

Steve Holden steve at
Sat Nov 5 06:12:05 CET 2005

Paul Rubin wrote:
> Steven D'Aprano <steve at> writes:
>>It also allows you to do something like this:
>>class ExpertGame(Game):
>>    current_level = 100
>>and then use ExpertGame anywhere you would have used Game with no problems.
> Well, let's say you set, hmm, current_score = 100 instead of current_level.
> Scores in some games can get pretty large as you get to the higher
> levels, enough so that you start needing long ints, which maybe are
> used elsewhere in your game too, like for the cryptographic signatures
> that authenticate the pieces of treasure in the dungeon.  Next you get
> some performance gain by using gmpy to handle the long int arithmetic,
> and guess what?  Eventually a version of your game comes along that
> enables the postulated (but not yet implemented) mutable int feature
> of gmpy for yet more performance gains.  So now, current_score += 3000
> increments the class variable instead of creating an instance
> variable, and whoever maintains your code by then now has a very weird
> bug to track down and fix.
> Anyway, I'm reacting pretty badly to the construction you're
> describing.  I haven't gotten around to looking at the asyncore code
> but will try to do so.

I wouldn't bother. From memory it's just using a class variable as  an 

Steve Holden       +44 150 684 7255  +1 800 494 3119
Holden Web LLC           
PyCon TX 2006        

More information about the Python-list mailing list