程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

讓python飛:形象理解python 多態、自定義異常、slots

編輯:Python


Day13 醫生
有一個醫生在閉目養神,突然來了個父親說他的兩個孩子貓和狗都生了病,希望醫生給看看。醫生心想這要是一個一個的叫進來看,太麻煩,效率不高。我還不如直接讓貓和狗的爸爸進來,然後讓他來描述貓和狗的病情不就簡單多了嗎

面向對象特性三之多態性:(思想來源於生活)多態:一種事物的多種形態,使用需要先存在繼承的關系。生活層面:
計算機層面:
父類的引用指向子類的對象
子類的對象給到父類的引用
最常出現的位置(代碼):在函數的形參
(p = Person()
d = Dog('汪汪')
c = Cat('咪咪')
p.feedDog(d)
p.feedCat(c)
p.feedAnimal(d)
p.feedAnimal(c)

那個父親就把貓和狗的情況告訴了醫生,醫生一聽病情,說,這只狗的病情很嚴重啊,需要進行大修才行。這時父親說,能不能只給狗的幾個部位修,我不想讓它變化太大。那個父親就掏出一個裝置,這個裝置是兩只小蛇中間夾著一個調料盒,調料盒裡放著牛肉丸子,每個牛肉丸子上就刻著一個可以狗狗身上可以更改的部位

動態為對象添加屬性的范圍為:name、age、height、weight
__slots__ = ('name','age','height','weight')。
(__slots__使用:
作用:
接受一個元祖對象,將可以為對象動態添加的屬性名定義其中稱為其元素;
目的:約束對象動態添加的屬性內容。位置:定義class的內部,函數的外部
注意:
__slots__和__dict__不能同時出現)

,那個父親將這個裝置放在了狗狗頭上。醫生答應了那個父親。
醫生看著小狗,感覺這狗毛長短不一,他想要留下2cm以下的毛,把其他異常的毛都剃掉,於是醫生調來了警報科的一個警報器,剃毛的時候如果遇到長於2cm的毛,警報器就會響

自定義異常類:
實現:定義一個類繼承已有的一個異常類型(通常:Exception)
class MyException(Exception):
def __init__(self,msg):
super().__init__(msg)
def setAge(self,age):
if age < 0 or age > 130:
raise MyException("出現異常了...")
else:
self.__age = age
def getAge(self):
return self.__age


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved