5

いつ使用できますsuper(type)か? ではありませんsuper(type,obj)が、super(type)引数は 1 つです。

4

1 に答える 1

2

私の理解でsuper(x)は、「バインドされていない」記述子、つまり、データの取得方法を知っているが、どこにあるかわからないオブジェクトを返します。クラス属性に割り当てsuper(x)てから取得すると、記述子機構が適切なバインディングを処理します。

class A(object):
    def foo(self):
        print 'parent'

class B(A):
    def foo(self):
        print 'child'

B.parent = super(B)
B().foo()
B().parent.foo()

詳細については、 http://www.artima.com/weblogs/viewpost.jsp?thread=236278を参照してください。

于 2013-11-08T09:48:47.047 に答える