Hi
In python courses I read, it is explained that
@decor
def f():
pass
is equivalent to:
def f():
pass
f = decor(f)
But that's not always true. See this code
class Temperature:
def __init__(self):
self.value = 0
# @property
def celsius(self):
return self.value
celsius = property(celsius)
# @celsius.setter
def celsius(self, value): <-- overwrites previous celsius
self.value = value
celsius = celsius.setter(celsius) <-- error here
When you define the setter function named celsius, it overwrites
the previous property object also named celsius ...
and it fails:
celsius = celsius.setter(celsius)
AttributeError: 'function' object has no attribute 'setter'
any comment ?
--
https://mail.python.org/mailman/listinfo/python-list