Python:什么是 callable?
简单来说,Python 中能被调用(called)的东西就是 callable,例如 function。使用内置的 callable 函数可以检查一个对象是不是 callable。callable 函数返回 True 说明是 callable,返回 False 说明不是 callable。
那么,Python 中到底哪些东西是 callable 呢?有下面几种情况:
函数(function)
类
有__call__ 方法的类的实例(instance)
类的方法(method)
下面的代码实例展示了这几种情况:
复制代码
最后,还有一种是 callable 的情况,如果对象里有非空的 tp_call 成员(c 语言结构体),这涉及到和 C 语言的互操作,这里不再展开,如果感兴趣可以参考https://docs.python.org/3/c-api/call.html
版权声明: 本文为 InfoQ 作者【一农】的原创文章。
原文链接:【http://xie.infoq.cn/article/46f5c1f6424072a7fe4dac1ac】。文章转载请联系作者。
评论