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 - [email protected]
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor