python入门到秃顶(8):继承、多继承、魔法方法

一,继承

​ 1,继承。在这里插入图片描述

  • 子类和父类有重名的方法会先调用子类有的方法

​ 2,重写,在重新再子类里面定义一个和父类同名的方法在这里插入图片描述

二,.多继承

​ 1,多继承在这里插入图片描述
​ 2,多重继承关系在这里插入图片描述
​ 3,重写在这里插入图片描述
​ 4,基类在这里插入图片描述
​ 5,bases

# __bases__ 这个魔法属性可以帮我们查看一个类直接继承的父类

在这里插入图片描述
​ 6,如果我想要在子类的方法里面调用父类的方法

​ 方法一:类名没有实例能传给方法,所以1处必须要加self!!

在这里插入图片描述
​ 方法二:super().play 多继承时只能调用直接父类的方法在这里插入图片描述
super:根据打印出的mro关系去找上一层的方法在这里插入图片描述
​ 7,print(类名.mro)或双下划线mro 会打印出一个子类继承父类的关系表[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-I44m1F2n-1592619507031)(D:\python\python思维导图和笔记\python入门基础\11,继承、多继承、魔法方法\笔记辅图\1547192549083.png)]

三,魔法方法

规则:在学习任何一个魔法方法的时候首先要知道这个魔法方法在什么时候调用

  1. add

    # __add__ 方法
    class Adef __add__(self,other):
            print(self)				# self 接收的是左边a实例
            print(other)			# other 接收加号右边的1
    # 在进行加法运算的时候就会自动调用__add__方法,就会执行定义在这个魔法方法下的代码,代码可以由你自己设置。
            
    a = A()
    a + 1
    

    在这里插入图片描述2. str和repr原理(须return值)在这里插入图片描述
    在这里插入图片描述
    3,call方法 在一个实例对象后面加括号调用的时候调用

    class A:
    	def __call__(self):
    		return '调用了__call__方法'
    		
    aaa = A()
    print(aaa())
    
    
    >>> 调用了__call__方法		所有的数据要被打印出来都是经过print
    
    

    4,在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值