Hi: Below is code where mistakenly self.var is named the same as function var instead of a different name. I know that this is not correct but I was experimenting to see what happens. class GetSet():
def __init__(self, value): #self.attrval = value self.var = value @property def var(self): print "getting the var attribute. " #return self.attrval return self.var @var.setter def var(self,value): print "setting the var attribute" #self.attrval = value self.var = value @var.deleter def var(self): print "deleting the var attribute. " #self.attrval = None self.var = None When I run the code with below I get " maximum recursion depth exceeded while calling a Python object" which is what I expected. me = GetSet(5) me.var = 1000 print me.var - I do not get "max recursion error" here. Why? del me.var print me.var - Here I get "max recursion error" What I do not understand is why I do not get the same error when runing below: me = GetSet(5) me.var = 1000 print me.var Why do I get the error after I do del but not without del? Why do I get the error after doing print me.var for the second time but not for the first time? In my understanding I should get the recursion error after the first print me.var. Why do I have to del and print again me.var to get the "max recursion error"? Thank you very much Monika ____________________________________________________________ Do This Before Bed Tonight to Burn Belly Flab All Night Long Flat Belly Overnight http://thirdpartyoffers.netzero.net/TGL3241/57db5afb836b65afb35f7st04duc _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor