您的位置:首页 > 编程语言 > Python开发

Python super()

2016-07-13 21:51 471 查看
官方说明
super(type[, object-or-type])
Return the superclass of type. If thesecond argument is omitted the super object
returned is unbound. If the second argument is an object,isinstance(obj, type)
must be true. If the second argument is a type, issubclass(type2, type)must be
true. super() only works for new-style classes.

子类里访问父类的同名属性,而又不想直接引用父类的名字。
>>> class A(object):
... def m(self):
... print('A')
...
>>> class B(A):
... def m(self):
... print('B')
... super().m() --python3.x以上可以这样写。至少3.5是可以的
...
>>> B().m()
B
A
>>> class B(A):
... def m(self):
... print('B')
... super(B, self).m()
...
>>> B().m()
B
A
理解如下:super(B, self)去寻找B的父类并把self转换为B的父类的对象,然后执行同名的方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  super python