python property decorator
It's simply syntactic sugar. It allows a method call to look like a variable access or assignment.
One way this can be useful is if you want to change something that previously was a simple variable to something that's actually computed or validated with other code. If you make it a property, you can do this without breaking any existing code. Another way is for caching, lazy initialization, etc., of object attributes.
Related videos on Youtube
letter Q
Updated on October 20, 2022Comments
-
letter Q over 1 year
Possible Duplicate:
Real world example about how to use property feature in python?I have a question about the decorator
@property
that I've seen in the following code. Could someone be kind enough to completely explain why someone would use the@property
decorator? I know@property
is equivalent toisActive = property(isActive)
but what does the method property actually do to it's parameter? If I were to call theisActive
method from theInputCell
class what would actually happen? Thanks in advance.class InputCell(object): def __init__(self, ix, iy, inputData): self.ix = ix self.iy = iy self.InputData = inputData @property def isActive(self): return self.InputData[self.ix][self.iy]
-
MontreThe documentation for the decorator actually explains this in the third sentence: docs.python.org/py3k/library/…
-
Russell BorogoveA @property is used to make a function look like an attribute. You can use this to make sure certain operations are carried out whenever a property is accessed. For example, if you have a ton of code that uses an angle parameter expressed in degrees, then later decide that internally you want to track the angle in radians, you can create property methods that hide the fact that radians are in use internally.
-