Index
- built_in_functions
- Python abs()
- Python all()
- Python any()
- Python ascii()
- Python bin()
- Python bool()
- Python bytearray()
- Python bytes()
- Python callable()
- Python chr()
- Python classmethod()
- Python compile()
- Python complex()
- Python delattr()
- Python dict()
- Python dir()
- Python divmod()
- Python enumerate()
- Python eval()
- Python exec()
- Python filter()
- Python float()
- Python format()
- Python frozenset()
- Python getattr()
- Python globals()
- Python hasattr()
- Python hash()
- Python help()
- Python hex()
- Python id()
- Python input()
- Python int()
- Python isinstance()
- Python issubclass()
- Python iter()
- Python len()
- Python list()
- Python locals()
- Python map()
- Python max()
- Python memoryview()
- Python min()
- Python next()
- Python object()
- Python oct()
- Python open()
- Python ord()
- Python pow()
- Python print()
- Python property()
- Python range()
- Python repr()
- Python reversed()
- Python round()
- Python set()
- Python setattr()
- Python slice()
- Python sorted()
- Python staticmethod()
- Python str()
- Python sum()
- Python super()
- Python tuple() Function
- Python type()
- Python vars()
- Python zip()
- Python __import__()
- python1compute
- Python Program to Find Hash of File
- Python Program to Find the Size (Resolution) of a Image
- Python Program to Merge Mails
- Python Program to Count the Number of Each Vowel - Source Code: Using a list and a dictionary comprehension
- Python Program to Count the Number of Each Vowel - Source Code: Using Dictionary
- Python Program to Illustrate Different Set Operations
- Python Program to Sort Words in Alphabetic Order
- Python Program to Remove Punctuations From a String
- Python Program to Multiply Two Matrices - Matrix Multiplication Using Nested List Comprehension
- Python Program to Multiply Two Matrices - Source Code: Matrix Multiplication using Nested Loop
- Python Program to Transpose a Matrix - Matrix Transpose using Nested List Comprehension
- Python Program to Transpose a Matrix - Matrix Transpose using Nested Loop
- Python Program to Add Two Matrices - Source Code: Matrix Addition using Nested List Comprehension
- Python Program to Check Whether a String is Palindrome or Not
- Python Program to Add Two Matrices - Source code: Matrix Addition using Nested Loop
- Python Program to Convert Decimal to Binary Using Recursion
- Python Program to Find Factorial of Number Using Recursion
- Python Program to Find Sum of Natural Numbers Using Recursion
- Python Program to Display Fibonacci Sequence Using Recursion
- Python Program to Display Calendar
- Python Program to Shuffle Deck of Cards
- Python Program to Make a Simple Calculator
- Python Program to Find Factors of Number
- Python Program to Find LCM - Without using GCD function
- Python Program to Find HCF or GCD - Source Code: Using Euclidean Algorithm
- Python Program to Find LCM - Source Code: Using GCD function
- Python Program to Find HCF or GCD - Source Code: Using Loops
- Python Program to Find ASCII Value of Character
- Python Program to Convert Decimal to Binary, Octal and Hexadecimal
- Python Program to Find Numbers Divisible by Another Number
- Python Program To Display Powers of 2 Using Anonymous Function
- Python Program to Find the Sum of Natural Numbers
- Python Program to Find Armstrong Number in an Interval
- Python Program to Check Armstrong Number - Source Code: Check Armstrong number of n digits
- Python Program to Check Armstrong Number - Source Code: Check Armstrong number (for 3 digits)
- Python Program to Print the Fibonacci sequence
- Python Program to Display the multiplication Table
- Python Program to Find the Factorial of a Number
- Python Program to Print all Prime Numbers in an Interval
- Python Program to Find the Largest Among Three Numbers
- Python Program to Check Prime Number
- Python Program to Check Leap Year
- Python Program to Check if a Number is Odd or Even
- Python Program to Check if a Number is Positive, Negative or 0 Source Code: Using Nested if
- Python Program to Check if a Number is Positive, Negative or 0 Source Code: Using if...elif...else
- Python Program to Convert Celsius To Fahrenheit
- Python Program to Generate a Random Number
- Python Program to Convert Kilometers to Miles
- Python Program to Swap Two Variables Source Code: Without Using Temporary Variable
- Python Program to Swap Two Variables Source Code: Using temporary variable
- Python Program to Solve Quadratic Equation
- Python Program to Calculate the Area of a Triangle
- Python Program to Find the Square Root Source code: For real or complex numbers using cmath module
- Python Program to Find the Square Root Source Code: For positive numbers using exponent **
- Python Program to Add Two Numbers By One Line
- Python Program to Add Two Numbers Source Code: Add Two Numbers Provided by The User
- Python Program to Add Two Numbers
- Python Program to Print Hello world!
- python2based
Description property()
Python property()
The property() method a returns a property attribute.
The syntax of property() method is:
property(fget=None, fset=None, fdel=None, doc=None)
property() Parameters
The property() method takes four optional parameters:
• fget (Optional) - function for getting the attribute value
• fset (Optional) - function for setting the attribute value
• fdel (Optional) - function for deleting the attribute value
• doc (Optional) - string that contains the documentation (docstring) for the attribute
Return value from property()
The property() method 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: Create attribute with getter, setter and deleter using property()
---------------------------------------------------------------------------------------------------------------------------------------------------
class Person:
def __init__(self, name):
self._name = name
def getName(self):
print('Getting name')
return self._name
def setName(self, value):
print('Setting name to ' + value)
self._name = value
def delName(self):
print('Deleting name')
del self._name
# Set property to use getName, setName
# and delName methods
name = property(getName, setName, delName, 'Name property')
p = Person('Adam')
print(p.name)
p.name = 'John'
del p.name
-----------------------------------------------------------------------------------------------------------------------------------------------------
When you run the program, the output will be:
Getting name
The name is: Adam
Setting name to John
Deleting name
Here, _name is used as the private variable for storing the name of a Person.
We also set:
• a getter method
getName()
to get the name of the person,• a setter method
setName()
to set the name of the person,• a deleter method
delName()
to delete the name of the person.Now, we set a new property attribute name by calling the
property()
method.As shown in the program, referencing
p.name
internally calls getName()
as getter, setName()
as setter and delName()
as deleter through the printed output present inside the methods.We also set the docstring of the attribute to 'Name property'.
Example 2: Create attribute with getter, setter and deleter using @property decorator
Instead of using the property() method, you can use the Python Decorator @property to assign the getter, setter and deleter.
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
class Person:
def __init__(self, name):
self._name = name
@property
def name(self):
print('Getting name')
return self._name
@name.setter
def name(self, value):
print('Setting name to ' + value)
self._name = value
@name.deleter
def name(self):
print('Deleting name')
del self._name
p = Person('Adam')
print('The name is:', p.name)
p.name = 'John'
del p.name
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
When you run the program, the output will be:
Getting name
The name is: Adam
Setting name to John
Deleting name
Here, instead of using the property() method, we've used the
@property
decorator.First, we specify that
name()
method is also an attribute of Person. This is done by using @property before the getter method as shown in the program.Next, we use the attribute name to specify the setter and the deleter.
This is done by using @<name-of-attribute>.setter
(@name.setter)
for setter method and @<name-of-attribute>.deleter (@name.deleter)
for deleter method.Notice, we've used the same method
name()
with different definitions for defining the getter, setter and deleter.Now, whenever we use
p.name
, it internally calls the appropriate getter, setter and deleter as shown by the printed output present inside the method.