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中用PIL库批量给图片加上序号的教程
May 06 Python
Python+OpenCV人脸检测原理及示例详解
Oct 19 Python
Python将图片转换为字符画的方法
Jun 16 Python
selenium使用chrome浏览器测试(附chromedriver与chrome的对应关系表)
Nov 29 Python
pyinstaller打包单个exe后无法执行错误的解决方法
Jun 21 Python
如何用Python做一个微信机器人自动拉群
Jul 03 Python
基于python二叉树的构造和打印例子
Aug 09 Python
Jupyter Notebook 实现正常显示中文和负号
Apr 24 Python
简单了解Java Netty Reactor三种线程模型
Apr 26 Python
Python中猜拳游戏与猜筛子游戏的实现方法
Sep 04 Python
python 制作网站筛选工具(附源码)
Jan 21 Python
requests在python中发送请求的实例讲解
Feb 17 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与C#分别格式化文件大小的代码
2011/05/14 PHP
php文件上传的例子及参数详解
2013/12/12 PHP
weiphp微信公众平台授权设置
2016/01/04 PHP
解析WordPress中的post_class与get_post_class函数
2016/01/04 PHP
PHP实现的字符串匹配算法示例【sunday算法】
2017/12/19 PHP
PHP 命名空间和自动加载原理与用法实例分析
2020/04/29 PHP
基于jquery的滚动鼠标放大缩小图片效果
2011/10/27 Javascript
IE事件对象(The Internet Explorer Event Object)
2012/06/27 Javascript
js调用css属性写法
2013/09/21 Javascript
基于jquery实现发送文章到手机的代码
2014/12/26 Javascript
javaScript中with函数用法实例分析
2015/06/08 Javascript
js检查是否关闭浏览器的方法
2016/08/02 Javascript
Vue.js动态组件解析
2016/09/09 Javascript
nodejs的HTML分析利器node-jquery用法浅析
2016/11/08 NodeJs
ES6的解构赋值实例详解
2019/05/06 Javascript
150行代码带你实现微信小程序中的数据侦听
2019/05/17 Javascript
实例讲解React 组件
2020/07/07 Javascript
基于jQuery拖拽事件的封装
2020/11/29 jQuery
Python时间模块datetime、time、calendar的使用方法
2016/01/13 Python
python3获取当前文件的上一级目录实例
2018/04/26 Python
对Python字符串中的换行符和制表符介绍
2018/05/03 Python
pygame游戏之旅 添加icon和bgm音效的方法
2018/11/21 Python
将tensorflow.Variable中的某些元素取出组成一个新的矩阵示例
2020/01/04 Python
python爬取天气数据的实例详解
2020/11/20 Python
canvas拼图功能实现代码示例
2018/11/21 HTML / CSS
size?法国官网:英国伦敦的球鞋精品店
2020/03/15 全球购物
什么是GWT的Entry Point
2013/08/16 面试题
优秀团队获奖感言
2014/02/19 职场文书
《春雨》教学反思
2014/04/24 职场文书
法制教育演讲稿
2014/09/10 职场文书
竞选大学学委演讲稿
2014/09/13 职场文书
研究生毕业论文导师评语
2014/12/31 职场文书
朋友聚会祝酒词
2015/08/10 职场文书
FP-growth算法发现频繁项集——构建FP树
2021/06/24 Python
Python 统计序列中元素的出现频度
2022/04/26 Python
MySQL远程无法连接的一些常见原因总结
2022/09/23 MySQL