python的bind函数

# -*- coding:utf-8 -*-

class Functor(object):
    def __init__(self, func, index=0, *args, **kwargs):
        self._Func = func
        self._Index = index
        self._Args = args
        self._Kwargs = kwargs
        
    def __call__(self, *args, **kwargs):
        args = args[:self._Index] + self._Args + args[self._Index:]
        kwargs = kwargs.copy()
        kwargs.update(self._Kwargs)
        return self._Func(*args, **kwargs)
        
        
def bind(func, index=0, *args, **kwargs):
    return Functor(func, index, *args, **kwargs)

 

 
 
 

文章来源:http://www.itnose.net/detail/6051780.html
更多文章:http://www.itnose.net/type/64.html

你可能感兴趣的:(python)