Python學習筆記 property

2021-08-14 19:07:30 字數 980 閱讀 1921

請利用@property給乙個screen物件加上widthheight屬性,以及乙個唯讀屬性resolution

class screen(object):

@property

def width(self):

return self._width

@width.setter

def width(self,value):

self._width = value

@property

def height(self):

return self._height

@height.setter

def height(self,value):

self._height = value

@property

def resolution(self):

return self._width * self._height

1、當執行如下語句:

s = screen()

s.width

python會在s的__dict__中查詢key值為width的value,因此s.width在內部就變成了s.__dict__['width']

2、下劃線『_』的理解:下劃線在python中表明該變數是private型別

3、不加下換線報錯的問題:recursionerror: maximum recursion depth exceeded

@property

def height(self):

return self.height

該函式會遞迴的呼叫自己,造成死迴圈

python教學筆記 python學習筆記(一)

1.eval 函式 eval是單詞evaluate的縮寫,就是 求.的值的意思。eval 函式的作用是把str轉換成list,dict,tuple.li 1 1,2,3 print eval li 1 di 1 print eval di 1 tu 1 2,4,6 print eval tu 1 執...

python學習筆記

coding utf 8 coding utf 8 應該像八股文一樣在每個指令碼的頭部宣告,這是個忠告 為了解決中文相容問題,同時你應該選擇支援 unicode 編碼的編輯器環境,保證在執行指令碼中的每個漢字都是使用 utf 8 編碼過的。cdays 5 exercise 3.py 求0 100之間...

Python 學習筆記

python 學習筆記 def run print running.def execute method method execute run result running.condition false test yes,is true if condition else no,is false ...