私は奇妙な質問があり、実際のコンテキストがかなり複雑であると見ると、私は簡単な例を作りました。私は2つのクラスを持っていますベースと子供。それぞれは同じ名前のメソッドを共有しますはになります。私が欲しいもの子供クラスは、のメソッドを継承します。ベースです。私はは、私はそれはいくつかのことをやりたい上の子をメソッドを行く呼び出すときしかし、それはベースから継承行くメソッドを呼び出して、(この場合、属性2によってを掛けます)。 35を印刷しを呼び出すこの例では同じ名前と継承を持つメソッド、Python
は私が子供は70
class Base :
def __init__ (self) :
self.A = 35
def go (self) :
print self.A
class Child (Base) :
def __init__ (self) :
Base.__init__(self)
def go (self) :
self.A = self.A * 2
# Somehow call Base's **go** method, which would print 70.
を印刷する間、私はそれが(見て一般的にこれを行うには良いアイデアではないことを理解し、ベースにを行きます混乱する可能性があるので)、しかし、私がやっていることの文脈では意味があります。
ええと、2.7ではこれはうまくいかないようです。エラーが出ます** TypeError:classobj **ではなくタイプでなければなりません。 – rectangletangle
それは動作します。あなたは新しいスタイルのクラスを使う必要があります(彼らはもっと良いと思います)。 'class Base:'を 'class Base(object):'に変更するだけです。 – agf
問題が修正されました。ありがとうございます! – rectangletangle