Home  >  Article  >  Backend Development  >  Detailed explanation of how to use python's property syntax

Detailed explanation of how to use python's property syntax

高洛峰
高洛峰Original
2017-03-26 18:56:472126browse

There is a property syntax in Python, which is similar to C#'s get set syntax. Its functions have the following two points:

Set class methods as read-only properties;

Implement properties getter and setter methods;

The following focuses on these two points:

Set the class method as a read-only attribute

Please read the following code first

class Book(object):
    def __init__(self, title, author, pub_date):
        self.title = title
        self.author = author
        self.pub_date = pub_date
 
    @property
    def des_message(self):
        return u'书名:%s, 作者:%s, 出版日期:%s' % (self.title, self.author, self.pub_date)

In this code, use property as a decorator to modify the des_message function. Its function is to turn the function des_message into a property of the class, and it is read-only. The effect is as follows:

Detailed explanation of how to use pythons property syntax

#As shown in the figure above, the method becomes a property, which can be accessed by accessing properties. But if you modify its value, an AttributeError error will be reported. It is read-only

Implement the getter and setter methods of the attribute

Then check the following code:

class Array(object):
 
    def __init__(self, length=0, base_index=0):
        assert length >= 0
        self._data = [None for i in xrange(length)]
        self._base_index = base_index
         
    def get_base_index(self):
        return self._base_index
 
    def set_base_index(self, base_index):
        self._base_index = base_index
 
    base_index = property(
        fget=lambda self: self.get_base_index(),
        fset=lambda self, value: self.set_base_index(value)
    )

Here We set a base_index attribute for class Array, which uses property to implement the fget and fset functions of base_index. base_index is readable and writable. The effect is as follows:

Detailed explanation of how to use pythons property syntax

As shown above As shown, base_index is readable and writable.

Finally

property is a good syntax feature of Python, and we should use it frequently in programming.

The above is the detailed content of Detailed explanation of how to use python's property syntax. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn