在Python函数也是一种对象(Python万事万物皆对象),这是一种常识;但对象作为函数来使用,并不是一种常见的事情。不过有些语言都提供,从C++的STL与Boost引入的Functor函数对象就是这种机制(使用类来提供函数接口),Python语法的低层机制也提供实现。留下代码mark一下。
代码
class A:
def __call__(self, value):
print('ok', value)
a = A()
a('hello')
在Python函数也是一种对象(Python万事万物皆对象),这是一种常识;但对象作为函数来使用,并不是一种常见的事情。不过有些语言都提供,从C++的STL与Boost引入的Functor函数对象就是这种机制(使用类来提供函数接口),Python语法的低层机制也提供实现。留下代码mark一下。
class A:
def __call__(self, value):
print('ok', value)
a = A()
a('hello')