功能:用来对一些不一致的接口进行适配。

(格式回去再修改,这里网络太差啦)

class adapter:
    def __init__(self, fun1, fun2):
        self.fun1 = fun1
        self.fun2 = fun2
    def __call__(self, *args, **kwargs):
        args, kwargs = self.fun1 (*args, **kwargs)
        self.fun2 (*args, **kwargs)


if __name__ == '__main__':
    def fun1 (**args):
        print args['a'], args['b']
    def fun1_adp (a, b):
        return (), {'a':a, 'b':b}
    adp = adapter (fun1_adp, fun1)
    adp (3, 4)

    def fun2 (a, b):
        print a, b
    def fun2_adp (**kwargs):
        return (kwargs['a'], kwargs['b']), {}
    adp = adapter (fun2_adp, fun2)
    adp (b=3, a=5)