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 相关文章推荐
[原创]windows下Anaconda的安装与配置正解(Anaconda入门教程)
Apr 05 Python
Tensorflow实现卷积神经网络的详细代码
May 24 Python
Python实现绘制双柱状图并显示数值功能示例
Jun 23 Python
python爬取微信公众号文章的方法
Feb 26 Python
Series和DataFrame使用简单入门
Nov 13 Python
Windows10下Tensorflow2.0 安装及环境配置教程(图文)
Nov 21 Python
python 线性回归分析模型检验标准--拟合优度详解
Feb 24 Python
Django REST framwork的权限验证实例
Apr 02 Python
Python日志:自定义输出字段 json格式输出方式
Apr 27 Python
Python关于拓扑排序知识点讲解
Jan 04 Python
python实现会员信息管理系统(List)
Mar 18 Python
Python 中面向接口编程
May 20 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下载
2006/12/12 PHP
php实现模拟登陆方正教务系统抓取课表
2015/05/19 PHP
YII Framework框架教程之使用YIIC快速创建YII应用详解
2016/03/15 PHP
PHP小白必须要知道的php基础知识(超实用)
2017/10/10 PHP
用js实现的页面关键字密度查询代码
2007/12/27 Javascript
起点页面传值js,有空研究学习下
2010/01/25 Javascript
JQuery select标签操作代码段
2010/05/16 Javascript
jQuery 源码分析笔记(3) Deferred机制
2011/06/19 Javascript
JavaScript实现的日期控件具体代码
2013/11/18 Javascript
jquery对单选框,多选框,文本框等常见操作小结
2014/01/08 Javascript
原创jQuery弹出层插件分享
2015/04/02 Javascript
纯jquery实现模仿淘宝购物车结算
2015/08/20 Javascript
基于jQuery实现收缩展开功能
2016/03/18 Javascript
一个仿微博登陆邮箱提示框js开发案例
2016/07/28 Javascript
JS图片左右无缝隙滚动的实现(兼容IE,Firefox 遵循W3C标准)
2016/09/23 Javascript
js判断文件格式及大小的简单实例(必看)
2016/10/11 Javascript
xcode中获取js文件的路径方法(推荐)
2016/11/05 Javascript
详解JavaScript 中getElementsByName在IE中的注意事项
2017/02/21 Javascript
Angular 4环境准备与Angular cli创建项目详解
2017/05/27 Javascript
Angular 2父子组件数据传递之@Input和@Output详解(下)
2017/07/05 Javascript
JS实现的走迷宫小游戏完整实例
2017/07/19 Javascript
深入理解ES7的async/await的用法
2017/09/09 Javascript
利用javascript如何随机生成一定位数的密码
2017/09/22 Javascript
vue与原生app的对接交互的方法(混合开发)
2018/11/28 Javascript
ES6 Object方法扩展的应用实例分析
2019/06/25 Javascript
python3.6连接MySQL和表的创建与删除实例代码
2017/12/28 Python
使用python获取邮箱邮件的设置方法
2019/09/20 Python
基于django2.2连oracle11g解决版本冲突的问题
2020/07/02 Python
Camille Jewelry官网:现代女性时尚首饰
2019/07/07 全球购物
计算机专业学生的自我评价
2013/12/15 职场文书
基层党员群众路线整改措施及努力方向
2014/10/28 职场文书
模范教师事迹材料
2014/12/16 职场文书
《乌鸦喝水》教学反思
2016/02/19 职场文书
使用pandas模块实现数据的标准化操作
2021/05/14 Python
python代码实现备忘录案例讲解
2021/07/26 Python
zabbix配置nginx监控的实现
2022/05/25 Servers