Movatterモバイル変換


[0]ホーム

URL:


Python Tutorial

Python property() Function



ThePython property() function is used to create and manage the properties of a class with the help of other methods like getters and setters. If you don't want to use theproperty() function explicitly, you can use its@property decorator.

In an object-oriented programming language, like Python, getters and setters are used for data encapsulation. Here,Encapsulation means bundling the attributes and methods to restrict their direct access.

This method is one of thebuilt-in functions and does not require any module to import.

Syntax

Following is the syntax of the Pythonproperty() function −

property(getter, setter, deleter, doc)

Parameters

The Pythonproperty() function accepts the following parameters −

  • getter − It represents the getter method which is used to get the value of anattribute.

  • setter − This parameter represents the setter method which is used to set the value of an attribute.

  • deleter − This parameter specifies the deleter method which is used to delete the value of an attribute.

  • doc − It specifies a string that contains thedocstring for the attributes.

Return Value

The Pythonproperty() function returns the property attribute of the specified getter, setter, and deleter.

property() Function Examples

Practice the following examples to understand the use ofproperty() function in Python:

Example: Use of property() Function

The code below demonstrates how to use the property() function to get, set and delete property attributes of a given class. For this purpose, we have created getter, setter and deleter method. [Read More:Python - Decorators]

class Metal:   def __init__(self, metalName):      self._metalName = metalName   def get_metal(self):      print("Getting Metal Name")      return self._metalName   def set_metal(self, name):      print("Setting Metal Name to:" + name)      self._metalName = name   def del_metal(self):      print("Deleting Metal Name")      del self._metalName   metalName = property(get_metal, set_metal, del_metal)metal = Metal("Gold")print(metal.metalName)metal.metalName = "Silver"del metal.metalName

Output of the above code is as follows −

Getting Metal NameGoldSetting Metal Name to:SilverDeleting Metal Name

Example: Creating Read-only Property Using @property Decorator

The following example shows the basic usage of Python property() function. Here, we are creating a simple read-only property with the help of @property decorator.

class Flight:   def __init__(self, jetEngine):      self._jetEngine = jetEngine   @property   def jetEngine(self):      return self._jetEngine        myFlight = Flight(121)print("Getting the attribute value of class:")print(myFlight.jetEngine)

When we run above program, it produces following result −

Getting the attribute value of class:121

Example: Getter & Setter Functions Using @property

If we don't want to call property() function explicitly, we need to use the @property decorator. In the code below, we are creating a getter to get the property and adding a setter function to modify the property.

class Flight:   def __init__(self, model):      self._model = model   @property   def model(self):      return self._model   @model.setter   def model(self, modelVal):      if modelVal >= 0:         self._model = modelVal      else:         raise ValueError("Model value must be non-negative")            myFlight = Flight(1210012)print("Setting the model number of Flight using setter:")print(myFlight.model)

Following is an output of the above code −

Setting the model number of Flight using setter:1210012
python_built_in_functions.htm
Print Page
Advertisements

[8]ページ先頭

©2009-2025 Movatter.jp