Python callable内置函数原理解析
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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
Keras中Sequential模型和Functional模型的区别及说明
这篇文章主要介绍了Keras中Sequential模型和Functional模型的区别及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-12-12解决Keyerror ''''acc'''' KeyError: ''''val_acc''''问题
这篇文章主要介绍了解决Keyerror 'acc' KeyError: 'val_acc'问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-06-06
最新评论