屬性是對字段的二次封裝。
好處:1)可以控制欄位的值(可讀可寫)
2)可以對賦值進行有效性的判斷。
屬性在做的提前需要把字段配置成私有的字段。
class calculator:__pi=3.1425926
#類變數
def
__init__(self): #對radius不初始化,預設0
self.__radius=0
#例項變數 私有變數
#求圓的周長
@property
def
perimeter(self):
return
2*calculator.__pi*self.radius
#求圓的面積
@property
def
area(self):
return calculator.__pi*self.radius*self.radius
@classmethod
def
get_pi(cls):
return
cls.__pi
#通過屬性獲取半徑的值。
@property
def
radius(self):
if self.__radius==0:
return
"還沒有為半徑賦值"
else:
return
self.__radius
#賦值給半徑
@radius.setter
#def
radius(self
,value):
if not
isinstance(value,
int):
raise
valueerror('score must be an integer!')
if value<0
or value>100:
raise
valueerror('score must be between 0 to 10!')
else:
self.__radius=value
if __name__=="__main__":
this=calculator()
print(this.radius)
this.radius=109
#@設定成10
print(this.radius)
print("周長:"
,this.perimeter)
print("面積:"
,this.area)
C 屬性 賦值私有字段
c 屬性 賦值私有字段 為類中欄位手寫get方法和set方法很麻煩,所以程式幫我們自動的封裝出這個兩個方法 屬性 屬性是這樣的成員 它提供靈活的機制來讀取 編寫或計算某個私有欄位的值。可以像使用公共資料成員一樣使用屬性,但實際上它們是稱作 訪問器 的特殊方法。這使得可以輕鬆訪問資料,此外還有助於提高...
php 給 私有屬性賦值的 方法
今天在看 composer 自動載入的原理的時候看見了乙個 給例項化物件的私有屬性賦值的操作,特此記錄一下 一般我們都知道,在類的外部是沒有辦法為類的私有屬性賦值或者改變私有屬性的值的。如 class animal echo new animal dog 報錯但是如果真的要想為animal的物件例項...
C 反射 迴圈屬性 字段賦值
private static void copyvaluetotarget t source,t target where t class var properties type.getruntimeproperties tolist foreach var property in properti...