Python callable内置函数原理解析


Posted in Python onMarch 05, 2020

python内置函数 callable用于检查一个对象是否是可调用的,如果函数返回True,object 仍然可能调用失败;但如果返回 False,调用对象 object 绝对不会成功。

一.callable函数简介

语法如下:

callable(object)

参数介绍:

object : 调用的对象;

返回值:返回bool值,如果object对象可以被调用返回true,不能被调用返回false;

值得注意的是:即便函数返回true,object也有可能调用失败,返回false意味着觉得不会成功!

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

二.callable函数使用

# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:何以解忧
@Blog(个人博客地址): shuopython.com
@WeChat Official Account(微信公众号):猿说python
@Github:www.github.com
 
@File:python_len.py
@Time:2020/2/24 21:25
 
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
"""
def test(func):
  # 判断func如果是函数,就执行他,如果不是函数,直接返回
  # 判断func是否可调用,如果可以调用,就是true
  if callable(func):
    print("函数可以被调用")
    return func
  else:
    print("函数不可以被调用")
def test2():
  return 'shuopython.com'
if __name__ == "__main__":
 
  print(test(test2())) #等价 test(str)   字符串不是对象
  print("***"*20)
  print(test(test2))  #等价 test(func)  函数是对象
  print("***"*20)
  print(test(123))   #等价 test(int)   整形不是对象

输出结果:

函数不可以被调用
None
************************************************************
函数可以被调用
<function test2 at 0x00000252F39D57B8>
************************************************************
函数不可以被调用
None

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

Python 相关文章推荐
Python读写文件方法总结
Jun 09 Python
Python中的迭代器与生成器高级用法解析
Jun 28 Python
Python正则表达式经典入门教程
May 22 Python
hmac模块生成加入了密钥的消息摘要详解
Jan 11 Python
Python控制Firefox方法总结
Jun 03 Python
解决Python设置函数调用超时,进程卡住的问题
Aug 08 Python
基于Tensorflow批量数据的输入实现方式
Feb 05 Python
Python如何基于Tesseract实现识别文字功能
Jun 05 Python
PyTorch-GPU加速实例
Jun 23 Python
Pycharm Plugins加载失败问题解决方案
Nov 28 Python
Python基础知识学习之类的继承
May 31 Python
Python List remove()实例用法详解
Aug 02 Python
python实现图像拼接
Mar 05 #Python
Python求两个字符串最长公共子序列代码实例
Mar 05 #Python
Python操作MongoDb数据库流程详解
Mar 05 #Python
Python文字截图识别OCR工具实例解析
Mar 05 #Python
win10下opencv-python特定版本手动安装与pip自动安装教程
Mar 05 #Python
python+OpenCV实现图像拼接
Mar 05 #Python
windows下Pycharm安装opencv的多种方法
Mar 05 #Python
You might like
利用Fix Rss Feeds插件修复WordPress的Feed显示错误
2015/12/19 PHP
【消息提示组件】,兼容IE6/7&amp;&amp;FF2
2007/09/04 Javascript
jquery获取自定义属性(attr和prop)实例介绍
2013/04/21 Javascript
js操纵跨frame的三级联动select下拉选项实例介绍
2013/05/19 Javascript
防止按钮在短时间内被多次点击的方法
2014/03/10 Javascript
javascript 操作符(~、&amp;、|、^、)使用案例
2014/12/31 Javascript
javascript实现一个数值加法函数
2015/06/26 Javascript
jquery点击缩略图切换视频播放特效代码分享
2015/09/15 Javascript
JS通过Cookie判断页面是否为首次打开
2016/02/05 Javascript
基于Particles.js制作超炫粒子动态背景效果(仿知乎)
2017/09/13 Javascript
vue+node+webpack环境搭建教程
2017/11/05 Javascript
Vue.js 中的 v-cloak 指令及使用详解
2018/11/19 Javascript
koa+mongoose实现简单增删改查接口的示例代码
2019/05/13 Javascript
javascript设计模式之迭代器模式
2020/01/30 Javascript
python简单实现计算过期时间的方法
2015/06/09 Python
python实现批量下载新浪博客的方法
2015/06/15 Python
基于python yield机制的异步操作同步化编程模型
2016/03/18 Python
Python的Flask框架中配置多个子域名的方法讲解
2016/06/07 Python
Python脚本获取操作系统版本信息
2016/12/17 Python
python-docx修改已存在的Word文档的表格的字体格式方法
2018/05/08 Python
python读取各种文件数据方法解析
2018/12/29 Python
Python实现的列表排序、反转操作示例
2019/03/13 Python
Django 多对多字段的更新和插入数据实例
2020/03/31 Python
Python OrderedDict字典排序方法详解
2020/05/21 Python
使用Keras实现Tensor的相乘和相加代码
2020/06/18 Python
简述python&amp;pytorch 随机种子的实现
2020/10/07 Python
纯css3实现鼠标经过图片显示描述的动画效果
2014/09/01 HTML / CSS
商务主管岗位职责
2013/12/08 职场文书
人力资源主管的岗位职责
2014/03/15 职场文书
2014年中秋寄语
2014/08/11 职场文书
学校创先争优活动总结
2014/08/28 职场文书
2014年派出所工作总结
2014/11/21 职场文书
护士长2015年终工作总结
2015/04/24 职场文书
2015年度考核个人工作总结
2015/10/24 职场文书
优秀大学生申请书
2019/06/24 职场文书
Qt自定义Plot实现曲线绘制的详细过程
2021/11/02 Python