我的代码是这样的:
class XQ(object):
def _XP(x, rettype='string'):
@staticmethod
def wrapper(*args, **kwargs):
print "args: ", str(args)
print "x: ", x
return wrapper
something = _XP('adios')
我做了:
j = XQ()
j.something(5)
,输出为:
args: (5,)
x: adios
当_XP只有两个参数时,我不明白args如何在包装函数中获得该值。我理解使用* args和* kargs(我认为),但我不知道我是如何收到内部函数的。
那5不是'x',也不是'rettype'而且我不知道它是如何到达其他函数的
有人可以解释一下吗?