国产成人AV无码一二三区,少女1到100集,国产精品久久久久精品综合紧,巜公妇之诱感肉欲HD在线播放

文章 > Python基础教程 > python3类中的Cat变量使用有限制吗?

python3类中的Cat变量使用有限制吗?

头像

小妮浅浅

2020-11-16 14:22:022959浏览 · 0收藏 · 0评论

看到cat我相信小伙伴就会想到dog,毕竟我们前两篇刚刚讲说。cat和dog的用法差不多,相信本次小伙伴们的学习会进行的非常顺利。本期我们也会从最基本的定义讲起,等大家了解的基本的用法,再进行代码的实战教学。内容篇幅比较长,不过小编相信大家的实力都是没有问题的。


这里定义了Cat类和它的子类Blackcat,主要说明两个主题:私人属性、方法的继承与覆盖

私人属性的使用是受到一定限制的,这里主要说明在哪些地方可以用,哪些地方不能调用

因为子类继承父类时,会将父类的所有方法都继承过来,但是如果在子类中定义了一个和父类同名的方法,则会将父类的方法覆盖下去,__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类结合,主要用于讲解私人属性、方法的继承与覆盖")
        
        print("weight是普通属性,可以在外部访问,即用类调用属性获得,可以被子类内部调用")
        print("_weight这样前面加一个下划线表示希望你不要在外部访问它,但是还是可以访问的,可以被子类内部调用")
        print("__weight这样加两个下划线的是不允许外部访问的,只可以在类中被调用,不可以被子类内部调用")
        
        print("__init__在子类中定义则覆盖了父类中的__init__,不需要指定父类中的属性,也无法调用父类的属性")
        print("在子类中实现和父类同名的方法,也会把父类的方法覆盖掉")
        
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): # 这个方法因为无法调用self.__weight所以这个方法无法使用
        print("My weight is exactly", self.__weight)
        
    def get_trueweight(self): # 覆盖了Cat父类中定义的方法
        print("My weight is exactly", self._weight+1)


创建实例

# 测试私人变量的外部访问
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
 
# 测试私人变量的子类调用
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() # 子类中同名函数覆盖父类
# My weight is exactly 7

以上就是python3类中的Cat变量的使用,具体的测试方法都在上面,大家可以逐个代码复制测试,相信大家都可以成功测试出结果,小编在这里等待大家的互动~

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

美国暴躁真人CSGO| 《熟妇的荡欲》HD中字| 老翁玩嫩媳| 97人妻人人躁人人玩人人澡AV | 八戒八戒电影在线看免费观看8| 被邻居伦流澡到高潮H漫画| 他扒开我小滨添我三男一女视频| 美国禁忌2在线观看电视剧| 日韩电影在线观看高清版电视剧| 女士穿紧身裸体开裆光滑皮裤| #NAME?| 《性爽2》电影| 电影《满足2》完整版在线观看| 欧洲尺码和亚洲码是3D还是2D| 邻家阿姨完整版免费观看| 《厨房韵母2》动漫下线了吗| 偷偷在线观看免费高清电视剧推荐| 免费双男主做酱酱酿酿的动漫| 九九影视在线观看免费最新电视剧 | 多村三飞母姐妹花女儿的小说| 小叔子媳妇在我房间坐月子怎么办| 浏览器| 法国色情巜做爰狂欲| 翁虹任达华《玉尺经》| 黑科网今日黑科独家爆料| 《麦子的秘密2》在线观看| 美女和帅哥一起努力生产豆浆的视.. | 老公边干边说小骚B小说| 他的大手在秘密花园小说免费阅读| 医生一直揉白带湿漉漉的正常吗| 《搬家工人的绝遇》观看| 爱动漫| 做AJ的视频大全图片高清下载| 高三妈妈用性缓解孩子压力| 只有一根绳子遮住重要部位的视频| 校花晚上自慰忘穿内裤怎么办| 苍井空《办公室爱欲》| 我有一个朋友| 《睡眠指导1-6集》 | 狗锁女人全集免费播放| 妈妈がだけの心に漂う