

例子里面說明太少,很難自己去理解,我查閱和別人討論了一下,大概思路如下:
首先呢,運行將Account類實例化對象為acc.然后將acc實例的屬性amount修改為20,這時候就調用了最下面那個amount方法,這個方法首先檢查輸入的數是否為負值,如果為負值則打印"sorry",然后打印"dollar"這句,打印的同時,調用獲取屬性amout,這時@property裝飾器下的amount函數就會返回類的amount屬性,后面的print("CNY")同理。
1,裝飾器的作用應該是在原來的方法上加上額外的功能.比如你調用amount這個類方法,你需要用acc.amout().但是加上@property這個裝飾器以后,你就可以用acc.amount來獲得相應的屬性了
2 ,輸入-100 是因為類中包含了檢測,如果是負數,則返回默認值20,實際上裝飾器改寫了你原本定義的方法.比如類中定義的amount方法
3,一個是在獲取屬性時調用,一個是在修改屬性時調用.這也是兩個裝飾器property和amout.setter的區別,Python里面估計默認property是獲取屬性時調用,setter是修改屬性時調用
