您好,登錄后才能下訂單哦!
類的實(shí)現(xiàn)
class Cat:
"""貓科動(dòng)物類"""
tag='我是家貓 '
def __init__ (self,name,age=0): #沒有默認(rèn)值必須要傳,且寫在前面
self.name=name
self.__age=age #私有變量,外部不能引用設(shè)置更改
def set_age(self,age):
self.__age=age
return self.__age
def show_info(self):
rest="我叫:{0},今年{1}歲".format(self.name,self.__age)
print(rest)
return rest
def eat(self):
print('喜歡吃魚')
def catch(self):
print('喜歡抓老鼠')
實(shí)例化
if __name__=='__main__':
cat_black=cat('小黑',2)
cat_black.eat()
cat_black.show_info()
類的實(shí)例判斷 :isinstance(cat_black,Cat)
類的繼承
判斷是否為其子類: issubclass(dog,Animal)
調(diào)用父類的方法:
def eat(self):
super(Cat,slef).eat()
類的多重繼承
一個(gè)類繼承于多個(gè)類
如果兩個(gè)父類有相同重名的方法,調(diào)用前一個(gè)
大括號(hào)的轉(zhuǎn)義字符是兩個(gè){{
多態(tài)
每天無需知道對(duì)象是什么樣的就能對(duì)其執(zhí)行操作時(shí),都是多態(tài)起作用。
super().eat() 直接調(diào)用父類
類的高級(jí)特性
1、@property:將類的方法當(dāng)做屬性來使用
def __str__(self):
return showing_info()
@property 寫在方法的前面(描述符)
2、__slots__:
為指定的類設(shè)置一個(gè)靜態(tài)屬性列表
為屬性很少的類節(jié)約內(nèi)存空間
使用后不能給實(shí)例添加屬性和方法。
3、類的靜態(tài)方法和實(shí)例方法
@staticmethod 表示靜態(tài)方法 不需要對(duì)類實(shí)例化調(diào)用,可以直接通過類名調(diào)用
@classmethod 表示類的方法
def show_info(cls) cls代表類 self代表實(shí)例
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。