python 继承

python子类继承父类的时候,如果不写super(子类,self).init(),则只继承父类的方法和公共属性,而不继承父类init方法中定义的属性和方法

super(子类,self).表示调用父类的某个方法或属性

因此:

1.super(子类,self).init() 表示调用父类的初始化方法,因此可以获取父类在初始化方法中创建的属性和方法

2.如果子类要对父类的某个方法进行重构,但是又要调用父类的该方法,则可以用super(子类,self).方法名称进行调用父类方法

   例如:

        

def parse_args(self, args=None, namespace=None):#子类中重写发方法
# Catch missing argument for a better error message
if (hasattr(self.cmd, 'missing_args_message') and
not (args or any(not arg.startswith('-') for arg in args))):
self.error(self.cmd.missing_args_message)
return super(CommandParser, self).parse_args(args, namespace)#调用父类的该方法

posted @ 2020-02-06 12:56  小鱼biubiu  阅读(133)  评论(0编辑  收藏  举报