archer05 发表于 2018-8-7 06:56:18

python @property用法作用

#_*_ 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:
  
            raiseValueError('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:
  
            raiseValueError('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)
页: [1]
查看完整版本: python @property用法作用