Python property() 函数用法

2023-09-17 22:28:48

property() 方法返回属性属性。

propert() Syntax:

property(fget, fset, fdel, doc)

参数:

  1. fget:(可选)用于获取属性值的函数。默认值为无。
  2. fset:(可选)用于设置属性值的函数。默认值为无。
  3. fdel:(可选)用于删除属性值的函数。默认值为无。
  4. doc:(可选)包含文档的字符串。默认值为无。

返回值:

返回给定的 getter、setter 和 deleter 的属性属性。

建议使用 property decorator 而不是 property() 方法。

下面的示例演示 property() 方法。

class Student:
    def __init__(self, name,age):
        self.fname = name
        self.age = age
    def get_name(self):
        print('Getting name of student.')
        return self.fname
    def set_name(self, value):
        print('Setting name of the student to ' + value)
        self.fname = value
    def del_name(self):
        print('Deleting name of the student')
        del self.fname
    # Set property to use get_name, set_name
    # and del_name methods
    name = property(get_name, set_name, del_name, 'Student property')
p = Student('John',20)
print(p.name)
p.name = 'Doe'
del p.name

输出:

Getting name of student.
John
Setting name of the student to Doe
Deleting name of the student