python @property用法作用

发布时间:2019-08-16 10:57:15编辑:auto阅读(1781)

    @property广泛应用在类的定义中,可以让调用者写出简短的代码,同时保证对参数进行必要的检查,这样,程序运行时就减少了出错的可能性。详见链接:廖雪峰python3使用@property

    练习

    请利用@property给一个Screen对象加上widthheight属性,以及一个只读属性resolution

    #_*_ coding: utf-8 _*_
    class Screen(object):
        @property
        def width(self):
            return self._width
        @width.setter
        def width(self,value):
            if not isinstance(value,int):
                raise ValueError(' value is wrong type,it need int')
            if value < 0:
                raise  ValueError('value must > 0')
            self._width = value
    
        @property
        def height(self):
            return self._height
        @height.setter
        def height(self,value):
            if not isinstance(value,int):
                raise ValueError(' value is wrong type,it need int')
            if value < 0:
                raise  ValueError('value must > 0')
            self._height = value
        @property
        def resolution(self):
            self._resolution = self._height * self._width
            return self._resolution
    
    
    s= Screen()
    s.width = 1024
    print(s.width)
    s.height = 768
    print(s.height)
    print(s.resolution)


关键字

上一篇: python实现线程池

下一篇: Python 练习1