zoukankan      html  css  js  c++  java
  • python程序设计——面向对象程序设计:属性

    python 3.x 的属性

    可以将属性设置为 可读,可修改,可删除

    # 只读属性,不允许修改和删除
    class Test:
        def __init__(self,value):
            self.__value=value
            
        @property
        def value(self):    # 只读属性,不允许修改和删除
            return self.__value
    
    t=Test(3)
    t.value
    
    out:
    3
    
    t.value=5          # 出错,只读属性,不允许修改、删除
    
    t.v = 5    # 动态增加新成员
    t.v
    
    out:
    5
    
    del t.v    # 动态删除新成员
    
    
    # 把属性设置为可读、可修改,不允许删除
    class Test:
        def __init__(self,value):
            self.__value=value
            
        def __get(self):
            return self.__value
        
        def __set(self,v):
            self.__value=v
            
        value=property(__get,__set)   # 把属性设置为可读、可修改,不允许删除
        def show(self):
            print(self.__value)
    
    t=Test(3)
    t.value=5  # 允许修改属性值
    t.value
    
    out:
    5
    
    # 把属性设置为可读、可修改,可删除
    class Test:
        def __init__(self,value):
            self.__value=value
            
        def __get(self):
            return self.__value
        
        def __set(self,v):
            self.__value=v
        
        def __del(self):
            del self.__value
            
        value=property(__get,__set,__del)  # 把属性设置为可读、可修改,可删除
        def show(self):
            print(self.__value)
    
    t=Test(3)
    t.value
    
    out:
    3
    
    del t.value   # 删除属性值
  • 相关阅读:
    NOIP2006代码及简析
    设计模式的原则
    UML应用
    关系
    活动图
    状态图
    UML概序
    UML基本图示
    用例
    介绍一个好的英语学习网站!
  • 原文地址:https://www.cnblogs.com/feinaio2017/p/8954936.html
Copyright © 2011-2022 走看看