Carlos schrieb: > My problem is that no matter were I put this, I have to declare ga a > global.
You are confusing two different objects with the name 'ga' here: a) the module object 'ga' which you create by import ing it: import ga this binds the name 'ga' to the module object created by reading in the module ga (probably some file name 'ga.py' or a package). b) The instance object of the the 'GA' class you create with ga = ga.GA(pop = 2, alleles = range(10), gene_size = 8) You have named the variable that holds a reference to this instance object b) also 'ga' thereby *overwriting the global variable 'ga'*, which held a reference to the module object a). If you want to overwrite a global variable in a function, you have to declar it global with the 'global' keyword. *But that's not what you want here.* Just give another name to your instance variable: import ga def runGA(pop, gen, it): ga_inst = ga.GA(pop = 2, alleles = range(10), gene_size = 8) ga_inst.debug = 1 ... HTH, Chris _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor