可调用对象
除了用户定义的函数,调用运算符(即())还可以应用到其它对象上。如果想判断对象能否调用,可以使用内置的callable()函数。Python数据模型文档列出7种可调用对象。
1、用户定义的函数
使用def语句或者lambda表达式创建。
2、内置函数
使用C语言(CPython)实现的函数,如len或time.strftime。
3、内置方法
使用C语言实现的方法,如dict.get。
4、方法
在类的定义体中定义的方法。
5、类
调用类会运行类的__new__方法创建一个实例,然后运行__init__方法,初始化实例,最后把这个实例返回给调用方。因为Python没有new运算符,所以调用类相当于调用函数。
6、类的实例
如果类定义了__call__方法,那么它的实例可以作为函数调用。
7、生成器函数
使用yield关键字的函数或方法。调用生成器函数返回的是生成器对象。