python中,怎么在继承类中调用基类的方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中,怎么在继承类中调用基类的方法相关的知识,希望对你有一定的参考价值。

python中,怎么在继承类中调用基类的方法
如:class father:
def show(self):
print "father"

>>> class son(father):
father.show(self)

Traceback (most recent call last):
File "<pyshell#49>", line 1, in <module>
class son(father):
File "<pyshell#49>", line 2, in son
father.show(self)
NameError: name 'self' is not defined

这是什么问题?
from UserDict import UserDict
>>> class fileinfo(UserDict):
def __init__(self,filename=None):
UserDict.__init__(self)
self["name"]=filename
那这段代码为什么可以通过

参考技术A 使用super来调用基类的方法,举例如下:

class A(object):
def __init__(self, a = 0):
self.a = a
def get(self):
return self.a
class B(A):
def __init__(self, b):
super(B, self).__init__(b)
def get(self):
return super(B, self).get()

if __name__ == '__main__':
b = B(10)
print b.get()// 10
参考技术B __init__构造器哪去了。你想拿什么来调用父类方法。拿类哈 - -。。
给你一个比较全面的
class Q(object):
def __init__(self):
self.x=False
self.y=True

>>>q=Q()
>>>class W(Q):
def __init__(self):
#这样就继承了父类Q的x和y属性
Q.__init__(self)
>>>w=W()
>>>print w.x,w.y本回答被提问者和网友采纳

以上是关于python中,怎么在继承类中调用基类的方法的主要内容,如果未能解决你的问题,请参考以下文章

面对对象之继承 | Python

pytthon3 ---类的属性方法封装继承及小实例

C# 隐藏方法和重写方法

python3 类的属性方法封装继承及小实例

Python 类

从继承的类中覆盖虚拟方法但保留基类的注释[重复]