zoukankan      html  css  js  c++  java
  • 02-多继承

    1.多继承

    python的类可以有两个以上父类,也即有类A,类B,类CC同时继承类A与类B,此时C中可以使用AB中的属性与方法。那么问题来了,如果AB中具有相同名字的方法,这个时候python怎么调用的会是哪个方法呢? 
    若为多继承,那么当多个父类中有重复的属性或者方法时,子类的调用结果会含糊不清
    多继承顺序。(mro 解析顺序) 

    2.类有关的几个函数

    #和类有关的几个函数  
        delattr()       # 删除对象属性 (删除器)
        getattr()       # 得到对象的某个属性值 (获取器)
        setattr()       # 给对象添加某个属性值 (设置器 )
        hasattr()       # 判断对象object是否包含名为name的特性
        isinstance()    # 检查对象是否是类的对象,返回True或False
        issubclass()    # 检查一个类是否是另一个类的子类。返回True或False

    3.类的特殊方法

    #类属性:
        __dict__    # 类的属性(包含一个字典,由类的数据属性组成)
        __doc__     # 类的文档字符串
    #类方法:  
        __init__    # 初始化
        __repr__    # 直接返回这个对象  repr() 函数就是调用对象的这个方法
        __str__     # print(obj) 如果类里面定义了__repr__,没有定义 __str__ print(obj)也会返回__repr__的内容,或者说__repr__的优先级更高
        __call__    # Obj() 使实例可被调用
        
    #运算符方法
        __add__(self,other)     #x+y
        __sub__(self,other)     #x-y 
        __mul__(self,other)     #x*y  
        __mod__(self,other)     #x%y
        __iadd__(self,other)    #x+=y
        __isub__(self,other)    #x-=y 
        __radd__(self,other)    #y+x
        __rsub__(self,other)    #y-x 
        __imul__(self,other)    #x*=y 
        __imod__(self,other)    #x%=y 
     
  • 相关阅读:
    求a,b在区间上的公倍数个数
    最长非上升子序列的长度
    uva 11992 线段树
    hdu 5464 dp
    hdu 5465 树状数组
    hdu 5459 递推
    poj 2528 动态线段树
    hdu 4474 bfs
    ural 1495 bfs
    hdu 2795 线段树
  • 原文地址:https://www.cnblogs.com/Jack-Ma/p/8645501.html
Copyright © 2011-2022 走看看