python中的@property

Posted 阿强Wwlt

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中的@property相关的知识,希望对你有一定的参考价值。

@property 可以将python定义的函数“当做”属性访问,从而提供更加友好访问方式,但是有时候setter/getter也是需要的

class People:
    def __init__(self,name,weight,height):
        self.__name=name
        self.weight=weight
        self.height=height
    @property
    def bmi(self):
        return self.weight / (self.height**2)
    @bmi.deleter
    def bmi(self):
        del self.__name

p1=People(wang,67,1.7)
del p1.bmi
print(p1.__name)

@bmi.deleter相当于一个接口,想要直接删除私有属性是不可以的,要有这么一个接口.删除私有属性

说明:同一属性的三个函数名要相同。(例子中都是bim)

 

@bmi.setter是修改

def bmi(self,新的参数)

 

以上是关于python中的@property的主要内容,如果未能解决你的问题,请参考以下文章

Vue报错:Uncaught TypeError: Cannot assign to read only property 'exports' of object 的解决方法(代码片段

Xcode 快速开发 代码块

python 中的@property

Python中的property类和@property装饰器

Xcode 快速开发 代码块 快捷键

在 Python 多处理进程中运行较慢的 OpenCV 代码片段