@property方法使用

时间:2020-01-06
本文章向大家介绍@property方法使用,主要包括@property方法使用使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

Python中访问对象的属性可以这么做:实例名.变量名

可以使用@property装饰器将方法伪装  成  属性的样式使用

@property 下方的函数只能是self参数 ,不能有其他的参数

from math import pi

class Yuan:
    def __init__(self,r):
        self.r = r
    @property
    def ares(self):#只能是self一个参数
        return self.r**2*pi

    def perimeter(self):
        return self.r*2*pi

C1 = Yuan(3)
# print(C1.ares())#没加@property 用这样的方式调用,需要添加括号
print(C1.ares)

修改@property 下的属性值  借助  函数名称.setter 修改

class Persion:
    def __init__(self,name):
        self.__name = name 
    @property
    def name(self):
        return self.__name +'sb'

    @name.setter#传一个参数
    def name(self,new_name):
        self.__name = new_name

a1 = Persion('jinijin')
print(a1.name)
a1.name = '大家'#修改属性值,    如果不适用@name.setter 则不能修改
print(a1.name)

原文地址:https://www.cnblogs.com/taysem/p/12156375.html