Python基于callable函数检测对象是否可被调用


Posted in Python onOctober 16, 2020

英文文档:

callable(object)

Return True if the object argument appears callable, False if not. If this returns true, it is still possible that a call fails, but if it is false, calling object will never succeed. Note that classes are callable (calling a class returns a new instance); instances are callable if their class has a __call__() method.

检测对象是否可被调用

说明:

1. 方法用来检测对象是否可被调用,可被调用指的是对象能否使用()括号的方法调用。

>>> callable(callable)
True
>>> callable(1)
False
>>> 1()
Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
1()
TypeError: 'int' object is not callable
>>>

2. 可调用对象,在实际调用也可能调用失败;但是不可调用对象,调用肯定不成功。

3. 类对象都是可被调用对象,类的实例对象是否可调用对象,取决于类是否定义了__call__方法。

>>> class A: #定义类A
  pass

>>> callable(A) #类A是可调用对象
True
>>> a = A() #调用类A
>>> callable(a) #实例a不可调用
False
>>> a() #调用实例a失败
Traceback (most recent call last):
 File "<pyshell#31>", line 1, in <module>
  a()
TypeError: 'A' object is not callable


>>> class B: #定义类B
  def __call__(self):
    print('instances are callable now.')

    
>>> callable(B) #类B是可调用对象
True
>>> b = B() #调用类B
>>> callable(b) #实例b是可调用对象
True
>>> b() #调用实例b成功
instances are callable now.

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python基础教程之数字处理(math)模块详解
Mar 25 Python
python概率计算器实例分析
Mar 25 Python
Python中特殊函数集锦
Jul 27 Python
详解Python验证码识别
Jan 25 Python
Python中对象迭代与反迭代的技巧总结
Sep 17 Python
Python基于OpenCV实现视频的人脸检测
Jan 23 Python
Python实现图片拼接的代码
Jul 02 Python
使用Python将字符串转换为格式化的日期时间字符串
Sep 01 Python
windows10环境下用anaconda和VScode配置的图文教程
Mar 30 Python
在TensorFlow中实现矩阵维度扩展
May 22 Python
matplotlib 画双轴子图无法显示x轴的解决方法
Jul 27 Python
Django项目如何正确配置日志(logging)
Apr 29 Python
python collections模块的使用
Oct 16 #Python
python 如何使用find和find_all爬虫、找文本的实现
Oct 16 #Python
Django实现随机图形验证码的示例
Oct 15 #Python
如何使用Python自动生成报表并以邮件发送
Oct 15 #Python
如何在Win10系统使用Python3连接Hive
Oct 15 #Python
Python进行特征提取的示例代码
Oct 15 #Python
Python通过递归函数输出嵌套列表元素
Oct 15 #Python
You might like
随机头像PHP版
2006/10/09 PHP
php 数据库字段复用的基本原理与示例
2011/07/22 PHP
怎样使用php与jquery设置和读取cookies
2013/08/08 PHP
CI配置多数据库访问的方法
2016/03/28 PHP
PHP后期静态绑定实例浅析
2018/12/21 PHP
爱恋千雪-US-AscII加密解密工具(网页加密)下载
2007/06/06 Javascript
jQuery中(function(){})()执行顺序的理解
2013/03/05 Javascript
关于JavaScript与HTML的交互事件
2013/04/12 Javascript
JavaScript事件委托的技术原理探讨示例
2014/04/17 Javascript
关于JavaScript 原型链的一点个人理解
2016/07/31 Javascript
Bootstrap3 图片(响应式图片&amp;图片形状)
2017/01/04 Javascript
javascript中json基础知识详解
2017/01/19 Javascript
web.js.字符串与正则表达式操作
2017/05/13 Javascript
JS实现简单短信验证码界面
2017/08/07 Javascript
DVA框架统一处理所有页面的loading状态
2017/08/25 Javascript
get  post jsonp三种数据交互形式实例详解
2017/08/25 Javascript
centos 上快速搭建ghost博客方法分享
2018/05/23 Javascript
jQuery使用hide()、toggle()函数实现相机品牌展示隐藏功能
2021/01/29 jQuery
python抓取京东商城手机列表url实例代码
2013/12/18 Python
Django数据库操作的实例(增删改查)
2017/09/04 Python
全面了解Nginx, WSGI, Flask之间的关系
2018/01/09 Python
解决在pycharm中显示额外的 figure 窗口问题
2019/01/15 Python
Python中Numpy mat的使用详解
2019/05/24 Python
Python在OpenCV里实现极坐标变换功能
2019/09/02 Python
Numpy实现卷积神经网络(CNN)的示例
2020/10/09 Python
Dockers美国官方网站:卡其裤、男士服装、鞋及配件
2016/11/22 全球购物
人力资源管理专业应届生求职信
2013/09/28 职场文书
工商企业管理应届生求职信
2014/05/04 职场文书
养牛场项目建议书
2014/05/13 职场文书
报表员工作失误检讨书范文
2014/09/19 职场文书
住宿生擅自离校检讨书
2014/09/22 职场文书
2014年安全工作总结范文
2014/11/13 职场文书
2014年加油站工作总结
2014/12/04 职场文书
同意落户证明
2015/06/19 职场文书
详解Mysql 函数调用优化
2021/04/07 MySQL
对讲机的最大通讯距离是多少
2022/02/18 无线电