美文网首页
python(Class4)

python(Class4)

作者: OldSix1987 | 来源:发表于2016-09-11 10:39 被阅读2次

    可管理的对象属性:


    直接访问属性在安全性、设计灵活性等方面都有明显的缺陷,不如方法调用
    但是方法调用在形式上不如访问属性简洁

    
    
    
    from math import pi
    
    
    class Circle(object):
        def __init__(self, radius):
            self._radius = radius
    
        @property
        def radius(self):
            # 对结果四舍五入
            # return round(self._radius)
            return self._radius
    
        @radius.setter
        def radius(self, value):
            # Python3.x去除了long类型,现在只有一种整型——int,但它的行为就像2.x版本的long
            if not isinstance(value, (int, float)):
                raise ValueError('wrong type.')
            self._radius = float(value)
    
        def getarea(self):
            return self._radius**2*pi
    
        # radius = property(getradius, setradius)
    
    c = Circle(3.2)
    
    c.radius = 12.3
    print(c.radius)
    print(c.getarea())
    
    
    

    相关文章

      网友评论

          本文标题:python(Class4)

          本文链接:https://www.haomeiwen.com/subject/nhjuettx.html