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单线程实现多个定时器示例
Mar 30 Python
python实现对一个完整url进行分割的方法
Apr 29 Python
Python生成不重复随机值的方法
May 11 Python
python 数据的清理行为实例详解
Jul 12 Python
Python中pandas dataframe删除一行或一列:drop函数详解
Jul 03 Python
解决Python获取字典dict中不存在的值时出错问题
Oct 17 Python
pygame游戏之旅 载入小车图片、更新窗口
Nov 20 Python
Django之使用内置函数和celery发邮件的方法示例
Sep 16 Python
Python中实现输入超时及如何通过变量获取变量名
Jan 18 Python
python手写均值滤波
Feb 19 Python
教你怎么用Python监控愉客行车程
Apr 29 Python
python读取mnist数据集方法案例详解
Sep 04 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
《心理测量者3》剧场版动画预告
2020/03/02 日漫
phpmyadmin MySQL 加密配置方法
2009/07/05 PHP
PHPWind与Discuz截取字符函数substrs与cutstr性能比较
2011/12/05 PHP
JavaScript Event学习第七章 事件属性
2010/02/07 Javascript
jQuery Tools Dateinput使用介绍
2012/07/14 Javascript
document.execCommand()的用法小结
2014/01/08 Javascript
JQuery中上下文选择器实现方法
2015/05/18 Javascript
javascript框架设计之种子模块
2015/06/23 Javascript
浅析nodejs实现Websocket的数据接收与发送
2015/11/19 NodeJs
jquery插件Jplayer使用方法简析
2016/04/22 Javascript
利用JS判断鼠标移入元素的方向
2016/12/11 Javascript
Vue.js路由vue-router使用方法详解
2017/03/20 Javascript
vue 修改 data 数据问题并实时显示的方法
2018/08/27 Javascript
JavaScript数组、json对象、eval()函数用法实例分析
2019/02/21 Javascript
antd日期选择器禁止选择当天之前的时间操作
2020/10/29 Javascript
vue集成一个支持图片缩放拖拽的富文本编辑器
2021/01/29 Vue.js
[39:02]DOTA2亚洲邀请赛 3.31 小组赛 B组 Mineski vs VGJ.T
2018/04/01 DOTA
[48:54]VGJ.T vs infamous Supermajor小组赛D组败者组第一轮 BO3 第二场 6.3
2018/06/04 DOTA
[01:11:21]DOTA2-DPC中国联赛 正赛 VG vs Elephant BO3 第一场 3月6日
2021/03/11 DOTA
Python脚本实现自动将数据库备份到 Dropbox
2017/02/06 Python
Python深度优先算法生成迷宫
2018/01/22 Python
对pandas的算术运算和数据对齐实例详解
2018/12/22 Python
Python 做曲线拟合和求积分的方法
2018/12/29 Python
在Python中表示一个对象的方法
2019/06/25 Python
Django框架之DRF 基于mixins来封装的视图详解
2019/07/23 Python
使用Python画出小人发射爱心的代码
2019/11/23 Python
基于TensorFlow中自定义梯度的2种方式
2020/02/04 Python
虚拟机下载python是否需要联网
2020/07/27 Python
从零开始的TensorFlow+VScode开发环境搭建的步骤(图文)
2020/08/31 Python
Python 利用flask搭建一个共享服务器的步骤
2020/12/05 Python
英语自荐信常用语句
2013/12/13 职场文书
关于幼儿的自我评价
2013/12/18 职场文书
土建资料员岗位职责
2014/01/04 职场文书
工作说明书范文
2014/05/07 职场文书
党员民主生活会材料
2014/12/15 职场文书
小学教学工作总结2015
2015/05/13 职场文书