37,743
社区成员




class parent:
def __init__(self, x):#刚才 漏敲了个i 所以调用了默认的class基类object
print 'p'
pass
class child(parent):
def __init__(self, x, y):
parent.__init__(self, x)
print 'c'
a = child(1,1)
python所有的类型都是从object继承来的[/quote]
是我敲错了,唉。
这下对了:
class parent:
def __init__(self, x):
print(x)
class child(parent):
def __init__(self, x, y):
parent.__init__(self, x)
a = child(1,1)
对楼主来说,调用父类的构造的时候,需要使用parent.__init__(self, x)才对,这样参数中的self才是父类的类型,就不会有楼主的问题了。
如果使用super,应该这样调用:super().__init__(x),不知道我说的对不对。
class parent:
def __init__(self, x):#刚才 漏敲了个i 所以调用了默认的class基类object
print 'p'
pass
class child(parent):
def __init__(self, x, y):
parent.__init__(self, x)
print 'c'
a = child(1,1)
python所有的类型都是从object继承来的
class parent:
def __int__(self, x):
print 'p'
pass
class child(parent):
def __init__(self, x, y):
parent.__int__(self, x)
print 'c'
a = child(1,1)
执行结果
Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> ================================ RESTART ================================
>>>
p
c
>>>
class parent:
def __int__(self, x):
print('ss')
pass
class child(parent):
def __init__(self, x, y):
super.__init__(self, x)
child(1,1)
报错:
super.__init__(self, x)
TypeError: descriptor '__init__' requires a 'super' object but received a 'child'
调用父类的构造函数要求传入一个parent对象