中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

python3類中的Cat變量怎么用-創(chuàng)新互聯(lián)

小編給大家分享一下python3類中的Cat變量怎么用,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

創(chuàng)新互聯(lián)于2013年開始,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元濱城做網(wǎng)站,已為上家服務(wù),為濱城各地企業(yè)和個人服務(wù),聯(lián)系電話:18982081108

這里定義了Cat類和它的子類Blackcat,主要說明兩個主題:私人屬性、方法的繼承與覆蓋

私人屬性的使用是受到一定限制的,這里主要說明在哪些地方可以用,哪些地方不能調(diào)用

因為子類繼承父類時,會將父類的所有方法都繼承過來,但是如果在子類中定義了一個和父類同名的方法,則會將父類的方法覆蓋下去,__init__也是如此

定義類

class Cat(Animal):
    
    def __init__(self, weight): # 覆蓋了父類的__init__,所以定義實例時不需要指定name和age
        self.__weight = weight
        self._weight = weight + 1
        self.weight = self._weight + 1
    
    def get_myweight(self):
        print("My weight is", self._weight, "kg")
    
    def get_trueweight(self):
        print("Actually the cat's weight is",self.__weight)
    
    @staticmethod
    def print_cat():
        print("這個類是Animal類的子類,也是Blackcat類的父類")
        print("Cat類和Blackcat類結(jié)合,主要用于講解私人屬性、方法的繼承與覆蓋")
        
        print("weight是普通屬性,可以在外部訪問,即用類調(diào)用屬性獲得,可以被子類內(nèi)部調(diào)用")
        print("_weight這樣前面加一個下劃線表示希望你不要在外部訪問它,但是還是可以訪問的,可以被子類內(nèi)部調(diào)用")
        print("__weight這樣加兩個下劃線的是不允許外部訪問的,只可以在類中被調(diào)用,不可以被子類內(nèi)部調(diào)用")
        
        print("__init__在子類中定義則覆蓋了父類中的__init__,不需要指定父類中的屬性,也無法調(diào)用父類的屬性")
        print("在子類中實現(xiàn)和父類同名的方法,也會把父類的方法覆蓋掉")
        
class Blackcat(Cat):
    
    def get_weight(self):
        print("My weight is", self.weight)
    
    def get_weight_again(self): # 可以
        print("Actuall my weight is", self._weight)
        
    def get_true_weight(self): # 這個方法因為無法調(diào)用self.__weight所以這個方法無法使用
        print("My weight is exactly", self.__weight)
        
    def get_trueweight(self): # 覆蓋了Cat父類中定義的方法
        print("My weight is exactly", self._weight+1)

創(chuàng)建實例

# 測試私人變量的外部訪問
cole = Cat(5)
cole.weight
# 7
cole._weight
# 6
cole.get_trueweight() # 在類中引用__weight,用這個方法返回
# Actually the cat's weight is 5
cole._Cat__weight # 非要訪問也可以,其實是python解釋器把__weight改成了_Cat__weight
# 5
 
# 測試私人變量的子類調(diào)用
cain = Blackcat(5)
cain.get_weight()
# My weight is 7
cain.get_weight_again()
# Actuall my weight is 6
# cain.get_true_weight() # 報錯
 
# 測試方法的繼承與覆蓋
cain.get_myweight() #
# My weight is 6 kg
cain.get_trueweight() # 子類中同名函數(shù)覆蓋父類
# My weight is exactly 7

看完了這篇文章,相信你對python3類中的Cat變量怎么用有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

網(wǎng)站名稱:python3類中的Cat變量怎么用-創(chuàng)新互聯(lián)
分享地址:http://www.rwnh.cn/article6/hsgog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、App設(shè)計、網(wǎng)頁設(shè)計公司、定制網(wǎng)站、網(wǎng)站營銷、建站公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)
武邑县| 和林格尔县| 井陉县| 南丹县| 兴山县| 浦东新区| 北宁市| 襄城县| 西和县| 日喀则市| 宝丰县| 辰溪县| 唐山市| 确山县| 白玉县| 永济市| 资中县| 芜湖市| 福贡县| 清流县| 库尔勒市| 富裕县| 河池市| 南召县| 建昌县| 龙胜| 澄迈县| 白朗县| 新宾| 屏山县| 淮滨县| 东宁县| 醴陵市| 吉隆县| 花莲市| 贡觉县| 邹平县| 明光市| 昌宁县| 岳西县| 桦甸市|