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的Django框架中使用通用视图的方法
Jul 21 Python
python九九乘法表的实例
Sep 26 Python
解决python Markdown模块乱码的问题
Feb 14 Python
Python docx库用法示例分析
Feb 16 Python
Django使用消息提示简单的弹出个对话框实例
Nov 15 Python
python 字典访问的三种方法小结
Dec 05 Python
python next()和iter()函数原理解析
Feb 07 Python
使用wxpy实现自动发送微信消息功能
Feb 28 Python
python变量的作用域是什么
May 26 Python
Python 实现PS滤镜中的径向模糊特效
Dec 03 Python
Python实现给PDF添加水印的方法
Jan 25 Python
PyQt5 显示超清高分辨率图片的方法
Apr 11 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
Yii列表定义与使用分页方法小结(3种方法)
2016/07/15 PHP
PHP框架自动加载类文件原理详解
2017/06/06 PHP
清空上传控件input file的值
2010/07/03 Javascript
js调用AJAX时Get和post的乱码解决方法
2013/06/04 Javascript
JavaScript闭包详解
2015/02/02 Javascript
JavaScript模拟深蓝vs卡斯帕罗夫的国际象棋对局示例
2015/04/22 Javascript
JavaScript多并发问题如何处理
2015/10/28 Javascript
JavaScript如何动态创建table表格
2020/08/02 Javascript
jQuery实现动态文字搜索功能
2017/01/05 Javascript
JS中的phototype详解
2017/02/04 Javascript
分分钟玩转Vue.js组件(二)
2017/03/01 Javascript
微信小程序手势操作之单触摸点与多触摸点
2017/03/10 Javascript
Vue中使用vux的配置详解
2017/05/05 Javascript
JavaScrip数组删除特定元素的几种方法总结
2017/09/06 Javascript
基于vue.js实现的分页
2018/03/13 Javascript
jQuery基于闭包实现的显示与隐藏div功能示例
2018/06/09 jQuery
JS重学系列之聊聊new操作符
2019/03/04 Javascript
js实现轮播图效果 z-index实现轮播图
2020/01/17 Javascript
JS数组Reduce方法功能与用法实例详解
2020/04/29 Javascript
详解JavaScript 事件流
2020/09/02 Javascript
[48:02]Ti4循环赛第三日 VG vs Liquid和NEWBEE vs DK
2014/07/12 DOTA
Python异常处理总结
2014/08/15 Python
Python基于递归和非递归算法求两个数最大公约数、最小公倍数示例
2018/05/21 Python
Python3.8中使用f-strings调试
2019/05/22 Python
selenium 安装与chromedriver安装的方法步骤
2019/06/12 Python
python3应用windows api对后台程序窗口及桌面截图并保存的方法
2019/08/27 Python
python matplotlib包图像配色方案分享
2020/03/14 Python
瑞典时尚服装购物网站:Miinto.se
2017/10/30 全球购物
美国在线肉类和海鲜配送:Crowd Cow
2020/10/02 全球购物
大学生入党思想汇报
2014/01/14 职场文书
高中生的自我鉴定范文
2014/01/24 职场文书
家长会主持词
2014/03/26 职场文书
人力资源管理专业应届生求职信
2014/04/24 职场文书
禁烟标语大全
2014/06/11 职场文书
2014年幼儿园教学工作总结
2014/12/04 职场文书
sql时间段切分实现每隔x分钟出一份高速门架车流量
2022/02/28 SQL Server