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编写的com组件发生R6034错误的原因与解决办法
Apr 01 Python
python实现根据用户输入从电影网站获取影片信息的方法
Apr 07 Python
python实现根据ip地址反向查找主机名称的方法
Apr 29 Python
Python 爬虫爬取指定博客的所有文章
Feb 17 Python
简析Python的闭包和装饰器
Feb 26 Python
机器学习python实战之决策树
Nov 01 Python
Python实现GUI学生信息管理系统
Apr 05 Python
Python中sorted()排序与字母大小写的问题
Jan 14 Python
Python切片列表字符串如何实现切换
Aug 06 Python
Python 利用Entrez库筛选下载PubMed文献摘要的示例
Nov 24 Python
用Python创建简易网站图文教程
Jun 11 Python
Python matplotlib绘制雷达图
Apr 13 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
双料怀旧--SHARP GF515的维护、修理和简单调试
2021/03/02 无线电
php 自写函数代码 获取关键字 去超链接
2010/02/08 PHP
PHP编译安装中遇到的两个错误和解决方法
2014/08/20 PHP
php结合ACCESS的跨库查询功能
2015/06/12 PHP
PHP实现的oracle分页函数实例
2016/01/25 PHP
PHP 中使用explode()函数切割字符串为数组的示例
2017/05/06 PHP
php查看一个变量的占用内存的实例代码
2020/03/29 PHP
firefox下对ajax的onreadystatechange的支持情况分析
2009/12/14 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(二)人物行走的实现
2013/01/23 Javascript
事件冒泡是什么如何用jquery阻止事件冒泡
2013/03/20 Javascript
js实现的全国省市二级联动下拉选择菜单完整实例
2015/08/17 Javascript
jQuery蓝色风格滑动导航栏代码分享
2015/08/19 Javascript
封装好的javascript前端分页插件pagination
2016/01/04 Javascript
js 动态生成json对象、时时更新json对象的方法
2016/12/02 Javascript
js return返回多个值,通过对象的属性访问方法
2017/02/21 Javascript
vue的.vue文件是怎么run起来的(vue-loader)
2018/12/10 Javascript
微信小程序搭建自己的Https服务器
2019/05/02 Javascript
vue+axios实现post文件下载
2019/09/25 Javascript
python基础教程之缩进介绍
2014/08/29 Python
django接入新浪微博OAuth的方法
2015/06/29 Python
python定向爬取淘宝商品价格
2018/02/27 Python
python微元法计算函数曲线长度的方法
2018/11/08 Python
解决python xlrd无法读取excel文件的问题
2018/12/25 Python
Python日志无延迟实时写入的示例
2019/07/11 Python
python 动态调用函数实例解析
2019/10/21 Python
python interpolate插值实例
2020/07/06 Python
雪花秀美国官方网站:韩国著名草本护肤化妆品品牌
2016/10/19 全球购物
意大利比基尼品牌:MISS BIKINI
2019/11/02 全球购物
实习生体会的自我评价范文
2013/11/28 职场文书
公司授权委托书范本
2014/04/03 职场文书
小区的门卫岗位职责
2014/10/01 职场文书
公司会议开幕词
2015/01/29 职场文书
庭外和解协议书
2016/03/23 职场文书
微信小程序实现拍照和相册选取图片
2021/05/09 Javascript
基于python定位棋子位置及识别棋子颜色
2021/07/26 Python
vue+elementUI实现表格列的显示与隐藏
2022/04/13 Vue.js