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源码分享
Dec 15 Python
Python3一行代码实现图片文字识别的示例
Jan 15 Python
Python爬虫爬取新浪微博内容示例【基于代理IP】
Aug 03 Python
Python实现Linux监控的方法
May 16 Python
详解Numpy数组转置的三种方法T、transpose、swapaxes
May 27 Python
python写程序统计词频的方法
Jul 29 Python
浅谈PyQt5中异步刷新UI和Python多线程总结
Dec 13 Python
Python彻底删除文件夹及其子文件方式
Dec 23 Python
Python接口测试环境搭建过程详解
Jun 29 Python
浅谈pytorch中stack和cat的及to_tensor的坑
May 20 Python
详解Go语言运用广度优先搜索走迷宫
Jun 23 Python
用Python生成会跳舞的美女
Jan 18 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
smarty模板判断数组为空的方法
2015/06/10 PHP
php实现的统计字数函数定义与使用示例
2017/07/26 PHP
firefox下jQuery UI Autocomplete 1.8.*中文输入修正方法
2012/09/19 Javascript
Jquery实现图片左右自动滚动示例
2013/09/25 Javascript
js替代copy(示例代码)
2013/11/27 Javascript
js获取当前路径的简单示例代码
2014/01/08 Javascript
js操作输入框中选择内容兼容IE及其他主流浏览器
2014/04/22 Javascript
Javascript 构造函数详解
2014/10/22 Javascript
node.js中的console.trace方法使用说明
2014/12/09 Javascript
js实现图片上传并正常显示
2015/12/19 Javascript
AngularJS中的Directive自定义一个表格
2016/01/25 Javascript
JavaScript使ifram跨域相互访问及与PHP通信的实例
2016/03/03 Javascript
详解JavaScript的AngularJS框架中的作用域与数据绑定
2016/03/04 Javascript
js将滚动条滚动到指定位置的简单实现方法
2016/06/25 Javascript
jQuery常用样式操作实例分析(获取、设置、追加、删除、判断等)
2016/09/08 Javascript
详解Vue 实例中的生命周期钩子
2017/03/21 Javascript
JavaScript实现打地鼠小游戏
2020/04/23 Javascript
vue+socket.io+express+mongodb 实现简易多房间在线群聊示例
2017/10/21 Javascript
JS运动特效之同时运动实现方法分析
2018/01/24 Javascript
vue的常用组件操作方法应用分析
2018/04/13 Javascript
又拍云 Node.js 实现文件上传、删除功能
2018/10/28 Javascript
小白教程|一小时上手最流行的前端框架vue(推荐)
2019/04/10 Javascript
解决echarts echarts数据动态更新和dataZoom被重置问题
2020/07/20 Javascript
Python使用统计函数绘制简单图形实例代码
2019/05/15 Python
mac系统下Redis安装和使用步骤详解
2019/07/09 Python
浅谈Python程序的错误:变量未定义
2020/06/02 Python
Python项目跨域问题解决方案
2020/06/22 Python
解决Python 函数声明先后顺序出现的问题
2020/09/02 Python
美国知名的百货清仓店:Neiman Marcus Last Call
2016/08/03 全球购物
军训生自我鉴定范文
2013/12/27 职场文书
便利店投资创业计划书
2014/02/08 职场文书
公司募捐倡议书
2014/05/14 职场文书
旷工辞退通知书
2015/04/17 职场文书
职场干货:简历中的自我评价应该这样写!
2019/05/06 职场文书
Python基础之hashlib模块详解
2021/05/06 Python
python利用while求100内的整数和方式
2021/11/07 Python