Python property() function
Python property() function returns the object of the property class and it is used to create property of a class.
Syntax: property(fget, fset, fdel, doc)
- fget() – used to get the value of attribute
- fset() – used to set the value of attribute
- fdel() – used to delete the attribute value
- doc() – string that contains the documentation (docstring) for the attribute
Return: Returns a property attribute from the given getter, setter and deleter.
- If no arguments are given, property() method returns a base property attribute that doesn’t contain any getter, setter or deleter.
- If doc isn’t provided, property() method takes the docstring of the getter function.
Example #1: Using property() method
Getting value GeeksforGeeks Setting value to GfG Deleting value
Python property Using Decorator
The main work of decorators is they are used to add functionality to the existing code. Also called metaprogramming, as a part of the program tries to modify another part of the program at compile time.
Example #2: Using @property decorator
Getting value Peter Setting value to Diesel Deleting value
Using @property decorator works same as property() method.
First, specify that value() method is also an attribute of Alphabet then, we use the attribute value to specify the Python property setter and the deleter. Notice that the same method value() is used with different definitions for defining the getter, setter, and deleter. Whenever we use x.value, it internally calls the appropriate getter, setter, and deleter.
Python property vs attribute
Class Attribute: Class Attributes are unique to each class. Each instance of the class will have this attribute.
1 2 2
In the above example, the count variable is a class attribute.
Python property(): Returns object of the property class
Getting value Happy Coding! Setting value to Hey Coder! Deleting value
By using property() method, we can modify our class and implement the value constraint without any change required to the client code. So that the implementation is backward compatible.