Python callable()函数用法实例分析


Posted in Python onMarch 17, 2018

本文实例讲述了Python callable()函数用法。分享给大家供大家参考,具体如下:

python中的内建函数callable( ) ,可以检查一个对象是否是可调用的

对于函数, 方法, lambda 函数式, 类, 以及实现了 _ _call_ _ 方法的类实例, 它都返回 True.

>>> help(callable)
Help on built-in function callable in module __builtin__:
callable(...)
 callable(object) -> bool
 Return whether the object is callable (i.e., some kind of function).
 Note that classes are callable, as are instances with a __call__() method.

1》函数是可调用的

>>> def add(x,y):
...  return x+y
...
>>> callable(add)
True

2》类和类内的方法是可调用的

>>> class C:
...  def printf(self):
...   print 'This is class C!'
...
>>> objC=C()
>>> callable(C)#类是可调用的,调用它们, 就产生对应的类实例.
True
>>> callable(C.printf)
True
>>> callable(objC.printf)
True

3》实现了__call__()方法的类实例是可调用的

>>> class A:
...  def printf(self):
...   print 'This is class A!'
...
>>> objA=A()
>>> callable(A) #类是可调用的,调用它们, 就产生对应的类实例.
True
>>> callable(objA) #类A没有实现__call__()方法,因此,类A的实例是不可调用的
False
>>> class B:
...  def __call__(self):
...   print 'This is class B!'
...
>>> objB=B()
>>> callable(B) #类是可调用的,调用它们, 就产生对应的类实例.
True
>>> callable(objB) #类B实现了__call__()方法,因此,类B实例是可调用的
True

4》lambda表达式是可调用的

>>> f=lambda x,y:x+y
>>> f(2,3)
5
>>> callable(f)
True

其它的,像整数,字符串,列表,元组,字典等等,都是不可调用的,如下:

>>> callable(2)
False
>>> callable('python')
False
>>> l=[1,2,3]
>>> callable(l)
False
>>> t=(4,5,6)
>>> callable(t)
False
>>> d={'a':1,'b':2}
>>> callable(d)
False

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
理解Python垃圾回收机制
Feb 12 Python
python简单读取大文件的方法
Jul 01 Python
python字典键值对的添加和遍历方法
Sep 11 Python
Queue 实现生产者消费者模型(实例讲解)
Nov 13 Python
python3+PyQt5泛型委托详解
Apr 24 Python
Python做智能家居温湿度报警系统
Sep 25 Python
详解python 中in 的 用法
Dec 12 Python
Window系统下Python如何安装OpenCV库
Mar 05 Python
python能自学吗
Jun 18 Python
opencv 形态学变换(开运算,闭运算,梯度运算)
Jul 07 Python
Python数据可视化常用4大绘图库原理详解
Oct 23 Python
python空元组在all中返回结果详解
Dec 15 Python
Python matplotlib绘图可视化知识点整理(小结)
Mar 16 #Python
python中matplotlib的颜色及线条控制的示例
Mar 16 #Python
Python lambda函数基本用法实例分析
Mar 16 #Python
Python切片操作实例分析
Mar 16 #Python
Python+request+unittest实现接口测试框架集成实例
Mar 16 #Python
Python基础教程之内置函数locals()和globals()用法分析
Mar 16 #Python
python xlsxwriter库生成图表的应用示例
Mar 16 #Python
You might like
php 之 没有mysql支持时的替代方案
2006/10/09 PHP
检测codeigniter脚本消耗内存情况的方法
2015/03/21 PHP
laravel学习教程之存取器
2016/07/30 PHP
php实现在新浪云中使用imagick生成缩略图并上传的方法
2016/09/26 PHP
PHP实现根据数组某个键值大小进行排序的方法
2018/03/13 PHP
XAMPP升级PHP版本实现步骤解析
2020/09/04 PHP
javascript Onunload与Onbeforeunload使用小结
2009/12/31 Javascript
asp.net网站开发中用jquery实现滚动浏览器滚动条加载数据(类似于腾讯微博)
2012/03/14 Javascript
JS链式调用的实现方法
2013/03/07 Javascript
jQuery Ajax File Upload实例源码
2016/12/12 Javascript
jquery拼接ajax 的json和字符串拼接的方法
2017/03/11 Javascript
Angular CLI在Angular项目中如何使用scss详解
2018/04/10 Javascript
arctext.js实现文字平滑弯曲弧形效果的插件
2019/05/13 Javascript
对vue中的事件穿透与禁止穿透实例详解
2019/10/28 Javascript
[05:53]敌法师的金色冠名ID"BurNIng",是传说,是荣耀
2020/07/11 DOTA
跟老齐学Python之字典,你还记得吗?
2014/09/20 Python
详解tensorflow训练自己的数据集实现CNN图像分类
2018/02/07 Python
Sanic框架基于类的视图用法示例
2018/07/18 Python
Django model序列化为json的方法示例
2018/10/16 Python
解决pycharm每次新建项目都要重新安装一些第三方库的问题
2019/01/17 Python
浅谈python函数调用返回两个或多个变量的方法
2019/01/23 Python
使用python的pexpect模块,实现远程免密登录的示例
2019/02/14 Python
python GUI库图形界面开发之PyQt5窗口背景与不规则窗口实例
2020/02/25 Python
Python之多进程与多线程的使用
2021/02/23 Python
竞聘演讲稿范文
2014/01/12 职场文书
《我的伯父鲁迅先生》教学反思
2014/02/12 职场文书
公务员保密承诺书
2014/03/27 职场文书
社团活动总结怎么写
2014/06/30 职场文书
大学生村官个人对照检查材料(群众路线)
2014/09/26 职场文书
少年犯观后感
2015/06/11 职场文书
高三毕业感言
2015/07/30 职场文书
只需要12页,掌握撰写一流商业计划书的技巧
2019/05/07 职场文书
使用Html+Css实现简易导航栏功能(导航栏遇到鼠标切换背景颜色)
2021/04/07 HTML / CSS
python入门之算法学习
2021/04/22 Python
图解排序算法之希尔排序Java实现
2021/06/26 Java/Android
Python中tqdm的使用和例子
2022/09/23 Python