zoukankan      html  css  js  c++  java
  • @property方法使用

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

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

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

    property 常和私有属性相结合使用

    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)

    1.setter  修改

    修改@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)
    

    2.deleter 删除    通过删除property属性来删除私有属性

    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
        @name.deleter
        def name(self):
            del self.__name
    a1 = Persion('jinijin')
    print(a1.name)
    a1.name = '大家'#修改属性值,    如果不适用@name.setter 则不能修改
    print(a1.name)
    del a1.name
    print(a1.name)
    

     已经找不到这个属性了  删除okay

      

  • 相关阅读:
    How to change hostname on SLE
    How to install starDIct on suse OS?
    python logging usage
    How to reset password for unknow root
    How to use wget ?
    How to only capute sub-matched character by grep
    How to inspect who is caller of func and who is the class of instance
    How to use groovy script on jenkins
    Vim ide for shell development
    linux高性能服务器编程 (二) --IP协议详解
  • 原文地址:https://www.cnblogs.com/taysem/p/12156375.html
Copyright © 2011-2022 走看看