栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python内置函数 - callable()

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python内置函数 - callable()

什么是callable

可callable的对象是指:可被调用执行的对象,并且可以传入参数。

换句话说:只要可以在一个对象的后面使用小括号来执行代码,那么这个对象就是callable对象。

callable的作用

callable(object)

  • 如果参数object是不可调用的就返回False,否则返回True。
  • 如果返回 False,调用object将肯定不会成功;但如果返回True,调用object却不一定成功。
  • 可callable的对象(object)种类包括:
    • 函数
    • 类(注意:调用类本质上返回的是一个实例)
    • 类内方法(即:类里面定义的函数)
    • 实现了内置方法__call__的对象(即:该对象所属的类定义了__call__方法)
可callable的对象
  • 函数
    def test():
    	print('ok')
    
    print(callable(test))   # True
    test()  # ok
    
  • 类
    class Stu(object):
    def __init__(self, name):
        self.name = name
    
    print(callable(Stu))     # True
    print(Stu('小明').name)   # 小明
    # 调用类 "Stu('小明')" 返回的是实例 stu = Stu('小明')
    
  • 类内方法
    class Stu(object):
    def __init__(self, name):
        self.name = name
    
    def run(self):
        print('{name} is running'.format(name=self.name))
    
    print(callable(Stu.run))  # True
    Stu("小明").run()  # 本质上是先实例化,后调用实例的方法
    
  • 实现了内置方法__call__的对象
    class Stu(object):
    
    def __init__(self, name):
        self.name = name
    
    def __call__(self, *args, **kwargs):
        self.run()
    
    def run(self):
        print('{name} is running'.format(name=self.name))
    
    stu = Stu('小明')
    print(callable(stu))  # True
    stu()  # 小明 is running
    # 区别与“类内方法”中是“实例.方法()”;这里用的是“实例()”
    
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1012398.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号