Python built-in Method - property()
The property() function is a built-in Python method that is used to define properties of an object. A property is an attribute that is accessed like a normal attribute, but it is actually the result of a method call.
The syntax for the property() function is as follows:
property(fget=None, fset=None, fdel=None, doc=None)
fget(optional): A function to get the value of the property.fset(optional): A function to set the value of the property.fdel(optional): A function to delete the value of the property.doc(optional): A string that describes the property.
Here is an example of how the property() function can be used to define a property:
class Rectangle:
def __init__(self, width, height):
self._width = width
self._height = height
@property
def width(self):
return self._width
@width.setter
def width(self, value):
self._width = value
@property
def height(self):
return self._height
@height.setter
def height(self, value):
self._height = value
@property
def area(self):
return self._width * self._height
In this example, we define a Rectangle class that has width, height, and area properties. The width and height properties are defined using the @property decorator and setter method, which allows us to define methods that will be called when the property is accessed or modified. The area property is defined using only the @property decorator, as it is read-only and does not need a setter method.
By defining properties in this way, we can encapsulate the internal state of the Rectangle object and control how it is accessed and modified. This can be useful for enforcing data validation, calculating derived values, and providing a more user-friendly interface for accessing the object's attributes.
The property() function is a powerful built-in method in Python that can be used to define complex properties and customize their behavior. It is often used in object-oriented programming and software design patterns.
