Python函数有一个描述符。 我相信,在大多数情况下,我不应该直接使用,但我想知道如何运作这个功能吗? 我试图用这样的对象几个操作的:
def a(): return 'x' a.__get__.__doc__ 'descr.__get__(obj[, type]) -> value'
什么是obj的,什么是类型?
>>> a.__get__() TypeError: expected at least 1 arguments, got 0 >>> a.__get__('s') <bound method ?.a of 's'> >>> a.__get__('s')() TypeError: a() takes no arguments (1 given)
当然,我不能做到这招与不采取任何参数的函数。 是调用函数与它的参数需要仅仅只有?
>>> def d(arg1, arg2, arg3): return arg1, arg2, arg3 >>> d.__get__('s')('x', 'a') ('s', 'x', 'a')
为什么第一个参数通过直接采取
__get__
,一切由返回的对象别的吗?