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利用pyHook实现监听用户鼠标与键盘事件
Aug 21 Python
如何解决django配置settings时遇到Could not import settings 'conf.local'
Nov 18 Python
Python和JavaScript间代码转换的4个工具
Feb 22 Python
Windows上使用virtualenv搭建Python+Flask开发环境
Jun 07 Python
python解决Fedora解压zip时中文乱码的方法
Sep 18 Python
名片管理系统python版
Jan 11 Python
TensorFlow平台下Python实现神经网络
Mar 10 Python
Python pymongo模块用法示例
Mar 31 Python
Python+PyQt5实现美剧爬虫可视工具的方法
Apr 25 Python
40行Python代码实现天气预报和每日鸡汤推送功能
Feb 27 Python
利用python实现后端写网页(flask框架)
Feb 28 Python
Django框架中视图的用法
Jun 10 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实现基于openssl的加密解密方法
2016/09/30 PHP
jQuery操作select的实例代码
2012/06/14 Javascript
js修改table中Td的值(定义td的双击事件)
2013/01/10 Javascript
js实现快速分享功能(你的文章分享工具)
2013/06/25 Javascript
向左滚动文字 js代码效果
2013/08/17 Javascript
浅析JQuery中的html(),text(),val()区别
2014/09/01 Javascript
html5+canvas实现支持触屏的签名插件教程
2017/05/08 Javascript
Bootstrap Table 双击、单击行获取该行及全表内容
2018/08/31 Javascript
解决angularjs WdatePicker ng-model的问题
2018/09/13 Javascript
手挽手带你学React之React-router4.x的使用
2019/02/14 Javascript
node.js命令行教程图文详解
2019/05/27 Javascript
微信小程序使用echarts获取数据并生成折线图
2019/10/16 Javascript
js实现GIF图片的分解和合成
2019/10/24 Javascript
微信小程序中插入激励视频广告并获取收益(实例代码)
2019/12/06 Javascript
JS Web Flex弹性盒子模型代码实例
2020/03/10 Javascript
JS中FileReader类实现文件上传及时预览功能
2020/03/27 Javascript
简单介绍Python中的len()函数的使用
2015/04/07 Python
Python实现获取照片拍摄日期并重命名的方法
2017/09/30 Python
Python操作mongodb数据库进行模糊查询操作示例
2018/06/09 Python
利用Python半自动化生成Nessus报告的方法
2019/03/19 Python
tensorflow 利用expand_dims和squeeze扩展和压缩tensor维度方式
2020/02/07 Python
解决python 找不到module的问题
2020/02/12 Python
如何实现更换Jupyter Notebook内核Python版本
2020/05/18 Python
Zipadee-Zip襁褓过渡毯:Sleeping Baby
2018/12/30 全球购物
澳大利亚最大的在线美发和美容零售商之一:My Hair Care & Beauty
2019/08/24 全球购物
通信工程毕业生求职信
2013/11/16 职场文书
蛋糕店创业计划书
2014/05/06 职场文书
大学新生入学教育方案
2014/05/16 职场文书
预备党员自我批评思想汇报
2014/10/10 职场文书
质量保证书怎么写
2015/02/27 职场文书
东京审判观后感
2015/06/01 职场文书
教师素质教育心得体会
2016/01/19 职场文书
opencv用VS2013调试时用Image Watch插件查看图片
2021/07/26 Python
SQL实现LeetCode(176.第二高薪水)
2021/08/04 MySQL
Python获取字典中某个key的value
2022/04/13 Python
oracle delete误删除表数据后如何恢复
2022/06/28 Oracle