Python学习笔记 --- 学会super用法
2017-04-24 12:01
423 查看
其实很多人对于Python中的super理解并没有很明白,其中主要是对于使用。这里简单的讲解一下。
当存在继承关系的时候,有时候需要在子类中调用父类的方法,此时最简单的方法是把对象调用转换成类调用,需要注意的是这时self参数需要显式传递
例如:
这里懂了的话,继续:
这样做有一些缺点,比如说如果修改了父类名称,那么在子类中会涉及多处修改,另外,Python是允许多继承的语言,如上所示的方法在多继承时就需要重复写多次,显得累赘。为了解决这些问题,Python引入了super()机制,例子代码如下:
最后总结来说,super的引用是为了减少代码的的修改导致的错误,以及大量的重复修改的工作。
当存在继承关系的时候,有时候需要在子类中调用父类的方法,此时最简单的方法是把对象调用转换成类调用,需要注意的是这时self参数需要显式传递
例如:
>>> class FooParent: def bar(self, message): print(message) >>> class FooChild(FooParent): def bar(self, message): FooParent.bar(self, message) >>> FooChild().bar("Hello, World.") Hello, World.
这里懂了的话,继续:
这样做有一些缺点,比如说如果修改了父类名称,那么在子类中会涉及多处修改,另外,Python是允许多继承的语言,如上所示的方法在多继承时就需要重复写多次,显得累赘。为了解决这些问题,Python引入了super()机制,例子代码如下:
class FooParent(object): def bar(self, message): print message class FooChild(FooParent): def bar(self, message): super(FooChild, self).bar(message) FooChild().bar("Hello, World")
最后总结来说,super的引用是为了减少代码的的修改导致的错误,以及大量的重复修改的工作。
相关文章推荐
- Python学习笔记(4)Python中super的用法
- Python学习笔记(4)Python中super的用法
- python 学习 笔记 format 用法
- Python的装饰器用法学习笔记
- PYTHON 学习笔记之 join 和 split 函数用法
- python中*args 和 **kwargs 的用法学习笔记
- python学习笔记--split与join用法
- Python学习笔记(二)if语句的简单用法
- Python学习笔记(3)range的用法
- python学习笔记之常用模块用法分析
- 三、PYTHON 学习笔记之 join 和 split 函数用法
- Java学习笔记---继承和super的用法
- Python学习笔记:05 数组的基本用法(Tuple和List)
- Python学习笔记4-如何快速的学会一个Python的模块、方法、关键字
- python学习笔记-(14)python循环中的高级用法
- Python学习笔记4-如何快速的学会一个Python的模块、方法、关键字
- Python学习笔记——print语句用法总结
- python3.4学习笔记(二十) python strip()函数 去空格\n\r\t函数的用法
- python学习笔记-list的用法
- Python学习笔记六:return的用法