先定义一个Python函数:
def xxx():
pass
那当函数、闭包和实例对象当做实参时,有什么区别呢?即下面几行代码的区别:
xxx(函数)
xxx(闭包)
xxx(实例对象)
答案:
1、函数:能够完成一般的功能,传递的是这个函数的引用,只有功能
2、闭包:能够完成较复杂的功能,传递的是闭包中的函数以及数据,因此是功能+数据(可以说是阉割版的实例对象)
3、实例对象:能够完成最复杂的功能,因为实例对象继承了从父类到object中的各种各样的方法和属性,所以传递的是很多功能+很多数据(可以理解为增强版闭包)