码迷,mamicode.com
首页 > 编程语言 > 详细

Python super()

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

标签:python   super   

官方说明

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()

标签:python   super   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!