Python——spuer()
来源:互联网 发布:wish数据分析 编辑:程序博客网 时间:2024/06/02 20:02
class Base(): def __init__(self): print('Base',self)class A(Base): def __init__(self): print('start A',self) super(A,self).__init__() print('end A',self)class B(Base): def __init__(self): print('start B',self) super(B,self).__init__() print('end B',self)class C(A,B): def __init__(self): print('start C',self) super(C,self).__init__() print('end C',self)c=C()print(c.__class__.mro())
结果
start C <__main__.C object at 0x02B01770>start A <__main__.C object at 0x02B01770>start B <__main__.C object at 0x02B01770>Base <__main__.C object at 0x02B01770>end B <__main__.C object at 0x02B01770>end A <__main__.C object at 0x02B01770>end C <__main__.C object at 0x02B01770>[<class '__main__.C'>, <class '__main__.A'>, <class '__main__.B'>, <class '__main__.Base'>, <class 'object'>]
spuer原理为
def spuer(cls,inst): mro=inst.__class__.mro() return mro[mro.index(cls)+1]
获取inst的mro列表,返回mro表中cls的下一个类
上述例子中,self始终为C的实例
阅读全文
0 0
- Python——spuer()
- leetcode:数学:spuer pow(372)
- Python——python了解
- python学习——python平台搭建
- Python学习——python打印汉字
- python 学习笔记——python globals()
- python学习——python文件
- python核心编程——python对象
- Python 基础——Python中的类
- 每天一点python——python数据类型
- Python基础——python学习图谱
- python学习——安装python
- python学习——python解释器
- python学习——Python基础
- python——字符串和python
- 【python】python 入门<2>——modules
- python基础知识—— Python概述
- Python入门——初识Python
- python tornade 模板扩展
- AfxOleInit()和::CoInitialize(NULL)区别
- 找回删除的日志
- linux基本命令
- (转载)eclipse中的navigator,package explorer,project explorer,有什麽区别啊?
- Python——spuer()
- 安装Android ADT后,Eclipse没有显示SDK Manager以及AVD Manager的图标问题
- 变更页面区域上的保护
- 在html5中实现input下拉提示
- EasyDSS RTMP流媒体服务器的HTTP query url的C++实现
- oj 给你一个整数列表L, 输出L的中位数(若结果为小数,则保留一位小数)。
- shell学习整理(3)- 玩转变量和环境变量
- centos 7 安装oracle11r前置
- ZooKeeper笔记