在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Python/ py2經(jīng)典類,繼承問題

py2經(jīng)典類,繼承問題

class A():

def __init__(self):
    print('A')

class B(A):

def __init__(self):
    super(B, self).__init__()

b = B()
**在py2下執(zhí)行報(bào)錯(cuò)了
super(B, self).__init__()
TypeError: must be type, not classobj**

如果父類A使用新式類則沒有問題
class A(object):

def __init__(self):
    print('A')

為什么!!!????

回答
編輯回答
敢試

super說明 中寫到

super(type[, object-or-type])

Note: super() only works for new-style classes.

2018年9月11日 07:45
編輯回答
久不遇

不知道Python2與Python3的細(xì)微差別,但感覺你的繼承寫的有問題...

super(B, self).__init__()

你在自定義B類下繼承B類干什么? 讓B既當(dāng)兒子還要當(dāng)爸爸,違背自然法則,肯定Error.如一樓所說:"super() only works for new-style classes."

或許是我的理解錯(cuò)誤。如有錯(cuò)誤,請(qǐng)不要吝嗇哦,指導(dǎo)我改正.

2018年5月15日 18:55