1

呼び出された関数のデータを別の関数にデリゲートするのは簡単です。

def test2(a, b):
    huh = locals()
    print huh

def test(a, b='hoho'):
    test2(**locals())

ただし、メソッドが呼び出されたときにlocals()含まれておりself、メソッド呼び出しのために単一の行で同じことをしようとすると、これが邪魔になります。

class X(object):
    def test2(self, a, b):
        huh = locals()
        print huh

    def test(self, a, b='hoho'):
        self.test2(**locals()) # no workie
        test2(**locals()) # no workie either
4

2 に答える 2

5

ここではまったく使用locals()しないでください。*argsanを使用し**kwて引数をキャッチし、それらを渡します。

def test(self, *args, **kw):
    self.test(*args, **kw)
于 2013-08-16T20:40:52.887 に答える