为啥我的类不继承父类?
Posted
技术标签:
【中文标题】为啥我的类不继承父类?【英文标题】:Why does my class not inherit from the parent class?为什么我的类不继承父类? 【发布时间】:2015-09-02 11:34:52 【问题描述】:我正在创建一个子类,但我很难让它从父类继承:
def ParentClass(object):
def __init__(self,num):
self.num = num
self.get_soup()
def get_soup(self):
self.soup = 'soup'
return self.soup
def SubClass(Advert):
def __init__(self,num):
ParentClass.__init__(self,num)
def test(self):
print 'it works'
print self.num
if __name__== "__main__":
num = 1118868465
ad = SubClass(num)
ad.test()
我应该看看元类吗?
【问题讨论】:
你有函数而不是类。 你也继承了Advert
而不是ParentClass
。
请立即阅读例如docs.python.org/2/tutorial/classes.html - 你几乎做错了所有事情。
1. 您没有使用类(类是用class
声明的,而不是用def
声明的)。 2. 你没有告诉 Python 你想从ParentClass
继承(你需要像class SubClass(ParentClass)
这样的东西)。 3. 你应该更喜欢super()
而不是显式调用超类方法。
上帝..应该睡一觉。还是谢谢
【参考方案1】:
您的代码中有函数而不是类,父类也称为ParentClass
不是广告:
class ParentClass(object): # class not def
def __init__(self,num):
self.num = num
self.get_soup()
def get_soup(self):
self.soup = 'soup'
return self.soup
class SubClass(ParentClass): # inherit from ParentClass
def __init__(self, num):
super(SubClass, self).__init__(num)
def test(self):
print 'it works'
print self.num
您可能想阅读this 教程
【讨论】:
以上是关于为啥我的类不继承父类?的主要内容,如果未能解决你的问题,请参考以下文章