練習題:
1、以下類定義中哪些是類屬性,哪些是例項屬性?
class c:
num = 0
def __init__(self):
self.x = 4
self.y = 5
c.count = 6
2、怎麼定義私有⽅法?
3、嘗試執行以下**,並解釋錯誤原因:
4、按照以下要求定義乙個遊樂園門票的類,並嘗試計算2個**+1個小孩平日票價。
要求:
1.類屬性:num=0
例項屬性self.x=4,self.y=5,c.count=6
在變數與函式前加』__'兩個下劃線
例項化類物件在類外部
類在定義時,需要乙個引數,一般是self
參考了網上的
def __init__(self, num_adult, num_children):
self.value = 100
self.adult = num_adult
self.children = num_children
def compute(self, weekday):
value = self.value * self.adult + self.value *self.children * 0.5
if weekday:
return value
else:
return 1.2*value
ticket = ticket(2, 1)
value = ticket.compute(0)
print(value)
練習題:
1、上面提到了許多魔法方法,如__new__
,__init__
,__str__
,__rstr__
,__getitem__
,__setitem__
等等,請總結它們各自的使用方法。
2、利用python做乙個簡單的定時器類
要求:
getitem(self, key):該方法獲取指定索引對應的元素。該方法的key 應該是整數值或slice物件,否則該方法會引發keyerror 異常。
setitem(self, key, value) : 該方法設定指定索引對應的元素。該方法的key 應該是整數
值或slice 物件,否則該方法會引發keyerror 異常。
rstr:隨機生成字串
_str__(self)
:
已經選擇戰略性放棄了
根本想不到
參考**:
Java學習第七天
類成員 static成員 當使用例項來訪問類成員時,系統底層依然是委託該類來訪問類成員。因此,即便該類例項為null,她依然可以訪問所屬類的類成員。例如 package lesson5 單例模式 singleton 主要通過靜態變數 靜態方法和private構造方法完成。例如 package les...
C 學習第七天
c 中的params引數 引數陣列 1 params引數是陣列。呼叫方式可以陣列方式,也可以單個元素方式。static void test string name,params int scores console.writeline 你好,你的scores is name,sb test 劉德華 ...
Effective C 學習第七天
條款23 寧以non memeber non friend替換member函式 non member non friend可以給物件帶來更大的封裝性,從兩個方面來考慮 1 考慮封裝,越多東西被封裝,它們就越不可見,就越少人看到它,就會越有彈性去改變它 2 考慮物件內的資料,越少 可以看到資料,越多的...