python @property用法作用
- 2020 年 1 月 13 日
- 筆記
@property廣泛應用在類的定義中,可以讓調用者寫出簡短的代碼,同時保證對參數進行必要的檢查,這樣,程序運行時就減少了出錯的可能性。
練習
請利用@property給一個Screen對象加上width和height屬性,以及一個只讀屬性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)