python的bind函数
程序员文章站
2022-03-20 20:33:23
...
# -*- 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)
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)
上一篇: HTML5开源游戏引擎lufylegend1.8.0发布
下一篇: 为什么说DOM操作很慢