Python中函数也是对象。也就是说,它有值,可以被作为值赋给其他变量,也可以作为参数传递和当作函数的返回值。
函数的真正面目
我们可以用class来构造函数对象,有成员函数__call__的就是函数对象了,函数对象被调用正是调用的__call__。
class Operate(object):
def __init__(self,message):
print("初始化")
self.message=message
def __call__(self):
print("the message that's input:",self.message)
o=Operate("博主是个大帅哥")
输出结果为:
初始化
再执行
o()
输出结果为:
the message that's input: 博主是个大帅哥
由此可见,函数对象的使用分类两部:初始化和调用