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 相关文章推荐
如何搜索查找并解决Django相关的问题
Jun 30 Python
Linux下使用python自动修改本机网关代码分享
May 21 Python
详解Django中Request对象的相关用法
Jul 17 Python
在Django中编写模版节点及注册标签的方法
Jul 20 Python
Python实现批量执行同目录下的py文件方法
Jan 11 Python
Python通用函数实现数组计算的方法
Jun 13 Python
Python调用graphviz绘制结构化图形网络示例
Nov 22 Python
解决Python3.8用pip安装turtle-0.0.2出现错误问题
Feb 11 Python
PyInstaller将Python文件打包为exe后如何反编译(破解源码)以及防止反编译
Apr 15 Python
Python定时任务APScheduler原理及实例解析
May 30 Python
如何在 Matplotlib 中更改绘图背景的实现
Nov 26 Python
Python Http请求json解析库用法解析
Nov 28 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 获取一个月第一天与最后一天的代码
2010/05/16 PHP
PHP开发的一些注意点总结
2010/10/12 PHP
php中DOMElement操作xml文档实例演示
2013/03/26 PHP
php页面防重复提交方法总结
2013/11/25 PHP
php输入数据统一类实例
2015/02/23 PHP
php传值赋值和传地址赋值用法实例分析
2015/06/20 PHP
joomla组件开发入门教程
2016/05/04 PHP
PHP htmlspecialchars() 函数实例代码及用法大全
2018/09/18 PHP
Aster vs Newbee BO3 第二场2.18
2021/03/10 DOTA
服务端 VBScript 与 JScript 几个相同特性的写法 By shawl.qiu
2007/03/06 Javascript
js定义对象或数组直接量时各浏览器对多余逗号的处理(json)
2011/03/05 Javascript
JS删除数组元素的函数介绍
2013/03/27 Javascript
JavaScript实现页面实时显示当前时间的简单实例
2013/07/20 Javascript
JS+css 图片自动缩放自适应大小
2013/08/08 Javascript
使用jQuery制作浮动工具栏的实例分享
2016/05/13 Javascript
简单的jQuery拖拽排序效果的实现(增强动态)
2017/02/09 Javascript
jquery实现全选、全不选以及单选功能
2017/03/23 jQuery
信息滚动效果的实例讲解
2017/09/18 Javascript
浅谈Node Inspector 代理实现
2017/10/19 Javascript
vue.js与后台数据交互的实例讲解
2018/08/08 Javascript
使用angular-cli webpack创建多个包的方法
2018/10/16 Javascript
浅谈一种让小程序支持JSX语法的新思路
2019/06/16 Javascript
Vue 解决通过this.$refs来获取DOM或者组件报错问题
2020/07/28 Javascript
echarts饼图各个板块之间的空隙如何实现
2020/12/01 Javascript
python通过socket查询whois的方法
2015/07/18 Python
Python线程下使用锁的技巧分享
2018/09/13 Python
Python实现 PS 图像调整中的亮度调整
2019/06/28 Python
tensorflow的计算图总结
2020/01/12 Python
Python实现Wordcloud生成词云图的示例
2020/03/30 Python
利用Python将多张图片合成视频的实现
2020/11/23 Python
俄罗斯便宜的在线服装商店:GroupPrice
2020/04/10 全球购物
开学季活动策划方案
2014/02/28 职场文书
保护野生动物倡议书
2014/05/16 职场文书
浪漫婚礼主题活动策划方案
2014/09/15 职场文书
python解析照片拍摄时间进行图片整理
2022/07/23 Python
LeetCode189轮转数组python示例
2022/08/05 Python