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中函数的可变参数
Sep 02 Python
利用python发送和接收邮件
Sep 27 Python
python、java等哪一门编程语言适合人工智能?
Nov 13 Python
python爬虫爬取网页表格数据
Mar 07 Python
Python数据预处理之数据规范化(归一化)示例
Jan 08 Python
Django使用redis缓存服务器的实现代码示例
Apr 28 Python
python机器学习库scikit-learn:SVR的基本应用
Jun 26 Python
Python中 CSV格式清洗与转换的实例代码
Aug 29 Python
Python编写打字训练小程序
Sep 26 Python
python将邻接矩阵输出成图的实现
Nov 21 Python
python全局变量引用与修改过程解析
Jan 07 Python
使用python将微信image下.dat文件解密为.png的方法
Nov 30 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
PHP中HTTP方式下的Gzip压缩传输方法举偶
2007/02/15 PHP
php2html php生成静态页函数
2008/12/08 PHP
PHP中常用的输出函数总结
2014/09/22 PHP
PHP+MYSQL实现读写分离简单实战
2017/03/13 PHP
php爬取天猫和淘宝商品数据
2018/02/23 PHP
JS 拼图游戏 面向对象,注释完整。
2009/06/18 Javascript
用方法封装javascript的new操作符(一)
2010/12/25 Javascript
JavaScript起点(严格模式深度了解)
2013/01/28 Javascript
jQuery实现tag便签去重效果的方法
2015/01/20 Javascript
Angularjs中的事件广播 —全面解析$broadcast,$emit,$on
2016/05/17 Javascript
JQuery手速测试小游戏实现思路详解
2016/09/20 Javascript
jQuery+vue.js实现的九宫格拼图游戏完整实例【附源码下载】
2017/09/12 jQuery
vue微信分享出来的链接点开是首页问题的解决方法
2018/11/28 Javascript
Angular脚手架开发的实现步骤
2019/04/09 Javascript
pageGroup.js实现分页功能
2019/07/27 Javascript
mpvue实现左侧导航与右侧内容的联动
2019/10/21 Javascript
Vue中使用matomo进行访问流量统计的实现
2019/11/05 Javascript
原生JS实现天气预报
2020/06/16 Javascript
解决vue单页面 回退页面 keeplive 缓存问题
2020/07/22 Javascript
python BeautifulSoup使用方法详解
2013/11/21 Python
Python中使用item()方法遍历字典的例子
2014/08/26 Python
Django1.7+python 2.78+pycharm配置mysql数据库教程
2014/11/18 Python
深入理解Python中装饰器的用法
2016/06/28 Python
Python itertools.product方法代码实例
2020/03/27 Python
Python大批量搜索引擎图像爬虫工具详解
2020/11/16 Python
一款利用html5和css3实现的3D滚动特效的教程
2015/01/04 HTML / CSS
英国高级健康和美容产品零售商:Life and Looks
2019/08/01 全球购物
用C或者C++语言实现SOCKET通信
2015/02/24 面试题
机械专业毕业生自荐信
2013/11/02 职场文书
珍爱生命演讲稿
2014/05/10 职场文书
2014年教师批评与自我批评思想汇报
2014/09/20 职场文书
党的群众路线教育实践活动个人剖析材料
2014/10/07 职场文书
会议开幕词
2015/01/28 职场文书
2015年后勤工作总结范文
2015/04/08 职场文书
2015年商场工作总结
2015/04/27 职场文书
Python如何将list中的string转换为int
2022/07/15 Ruby