首页 > 编程语言 > 详细

Python super()

时间:2016-07-13 23:24:38      阅读:403      评论:0      收藏:0      [点我收藏+]

官方说明

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的父类的对象,然后执行同名的方法。


本文出自 “90SirDB” 博客,请务必保留此出处http://90sirdb.blog.51cto.com/8713279/1826187

Python super()

原文:http://90sirdb.blog.51cto.com/8713279/1826187

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!