Day 7 類 物件與魔法方法

2021-10-08 21:38:34 字數 2383 閱讀 7067

練習一

以下類定義中哪些是類屬性,哪些是例項屬性?

classc:

num =0#類

def__init__

(self)

: self.x =

4#例項

self.y =

5#例項

c.count =

6#類

練習二

怎麼定義私有⽅法?

函式名前加上「__」兩個下劃線
練習三

嘗試執行以下**,並解釋錯誤原因:

classc:

defmyfun()

:print

('hello!'

) c = c(

) c.myfun(

)

改正

classc:

defmyfun

(self)

:print

('hello!'

)c = c(

)c.myfun(

)

練習四

按照以下要求定義乙個遊樂園門票的類,並嘗試計算2個**+1個小孩平日票價。

class

ticket

:def

__init__

(self, workday =

true

, adult =

true):

self.price =

100if workday:

self.ratio =

1else

: self.ratio =

1.2if adult:

self.discount =

1else

: self.discount =

0.5def

get_price

(self, num)

:return self.price * self.ratio * self.discount * num

adult1 = ticket(

true

,true

)child1 = ticket(

true

,false

)print

("2個**+1個小孩平日票價為%.2f"

%(adult1.get_price(2)

+ child1.get_price(1)

))

練習二

利用python做乙個簡單的定時器類

import time as t

class

mytimer

:def

__init__

(self)

: self.unit =

['年'

,'月'

,'天'

,'小時'

,'分鐘'

,'秒'

] self.prompt =

"未開始計時"

self.lasted =

self.begin =

0 self.end =

0def

start

(self)

: self.begin = t.localtime(

) self.prompt =

print

("計時開始......"

)def

stop

(self):if

not self.begin:

print()

else

: self.end = t.localtime(

) self._calc(

)print

("計時結束"

)def

_calc

(self)

: self.lasted =

self.prompt =

"總共執行了"

for index in

range(6

):- self.begin[index]

)if self.lasted[index]

: self.prompt +=

(str

(self.lasted[index]

)+ self.unit[index]

) self.begin =

0 self.end =

0

類 物件與魔法方法

類屬性 num 0 例項屬性 self.x 4 self.y 5 c.count 6 在變數名或者函式名前加上兩個下劃線 這個函式或者變數就會變成私有 修改完的程式 class c def myfun self print hello c c c.myfun class ticket def ini...

類與物件(2) 魔法方法

定義init魔法方法,設定初始化屬性,訪問並呼叫 1.定義類 init魔法方法 width和height 新增例項方法 訪問例項屬性 2 建立物件 3 驗證成果 呼叫例項方法 class washer def init self 新增例項屬性 self.width 500 self.height 8...

ziheng 類與物件和魔法方法

class tangsen def init self self.name tangsen self.gongji 80 self.magic 500 self.hp 2000 self.speed 100 defhuo de hp self print self.hp defshe zhi hp ...