Im trying to override a setattr in python but get recursion error..How do I fix this problem?
class Human(object):
    def __setattr__(self, name, value):     
        if name == 'gender':
            print 'name == ', name
            print 'value == ', value
            if value in ('male','female'):
                # pass
                self.gender = value
            else:
                raise AttributeError("Gender can only by male or female")
h = Human()
# h.name = 'Mary'
h.gender = 'female'
print h.gender              
