__setattr__ recursion problem

Joonas Paalasmaa joonas at olen.to
Thu Nov 29 12:10:16 EST 2001


The code above causes an infinite loop. How can I set an attribute of
Class
without overloading the __setattr__ function? Or does someone have some
other
solution to make that script work?



class Class2:
	eggs = 1
	spam = 2

class Class:
	base = Class2()
	def __setattr__(s,attr, value):
		if hasattr(s.base, attr):
			setattr(s.base, attr, value)
		else:
			setattr(s, attr, value)

Class().foo = "eggs"



More information about the Python-list mailing list