python基础知识整理5——类方法、静态方法和继承相关问题
2018-10-26 21:57
726 查看
类方法和静态方法
method
- 通过实例调用
- 可以引用类内部的任何属性和方法classmethod
- 无需实例化
- 可以调用类属性和类方法
- 无法取到普通的成员属性和方法staticmethod
- 无需实例化
- 无法渠道类内部的任何属性和方法,完全独立的一个方法
继承相关问题
- 什么是多态
class Animal: def run(self): print('animal running') class Lion(Animal): def run(self): print('lion running') class Tiger(Animal): def run(self): print('tiger running') class LeoTiger(Lion, Tiger): pass cub = LeoTiger() isinstance(cub, Lion) isinstance(cub, Tiger)
- 多继承
- 方法和属性的继承顺序:Cls.mro()
- 菱形继承问题
继承关系示意 菱形继承 A.foo() / \ B C.foo() \ / D.mro() # 方法的继承顺序,由 C3 算法得到
- Mixin: 通过单纯的 mixin 类完成功能组合,所有继承的类的功能不会有任何的交叉
- super
class A: def __init__(self): print('enter A') self.x = 111 print('exit A') class B(A): def __init__(self): print('enter B') self.y = 222 A.__init__(self) # super().__init__() print('exit B') class C(A): def __init__(self): print('enter C') self.z = 333 A.__init__(self) # super().__init__() print('exit C') class D(B, C): def __init__(self): print('enter D') B.__init__(self) C.__init__(self) # super().__init__() print('exit D') d = D()阅读更多
相关文章推荐
- Linux基础知识整理[12]——简易连接Internet的方法介绍
- 通过plsql 测试存储过程遇到的问题和学习到的一些基础知识整理
- C#基础知识整理:基础知识(5) 方法的重载
- C#基础知识整理:基础知识(5) 方法的重载
- C#基础知识整理:基础知识(1) Main方法
- C#基础知识整理:基础知识(5) 方法的重载
- java基础知识记录--类相关语法 (摘自张孝祥整理java面试题)
- 继承父类,调用父类中的方法 分类: python 小练习 python基础学习 2014-01-10 17:54 325人阅读 评论(0) 收藏
- Java基础——继承+子父类相关特点+Final关键字+抽象类+模板方法设计模式+接口
- C#基础知识整理:基础知识(7) 方法的隐藏
- java基础知识整理 一些问题的解答(面试)
- Sybase ASE字符集相关知识及问题处理方法
- Python基础知识2——join 和 split 的使用方法
- python 基础操作知识整理总结
- C#基础知识整理:基础知识(1) Main方法
- 【待整理】Python中的编码问题和相关error
- C#基础知识整理:基础知识(1) Main方法
- 软件相关基础知识整理
- C#基础知识整理:基础知识(4) 继承
- JAVA相关基础知识(收集,重新整理格式)