• 技术文章 >Python技术 >Python基础教程

    callable怎样在python中判断类的调用?

    小妮浅浅小妮浅浅2020-12-14 18:26:37原创1991

    在python中除了调用函数外,另一项比较常见的调用就是类了。对于很多初学者来言,是不能分清楚这个类是否能被调用的。不过我们也可以通过callable()函数来帮助检验,根据callable输出结果的True或者False来进行判断。下面我们就来了解callable的基本说明和实例演练。

    1.说明

    callable() 是一个bool函数,可以确定一个对象是否可以通过操作符()来调用,如果函数可以调用,返回True,否则返回False

    注意类是callable的,因为调用类将会返回有一个新的实例。如果类的实例实现了__call__()方法,那么该实例也是callable的。

    2.参数

    object -- 对象

    3.返回值

    可调用返回 True,否则返回 False。

    4.实例

    # callable(object)
    # 如果参数 object 是可调用的就返回 True,否则返回 False。 如果返回 True,调用仍可能失败,但如果返回 False,则调用 object 将肯定不会成功。 请注意类是可调用的(调用类将返回一个新的实例);如果实例所属的类有 __call__() 则它就是可调用的。
    #
    # 3.2 新版功能: 这个函数一开始在 Python 3.0 被移除了,但在 Python 3.2 被重新加入。
     
    # # 如果参数 object 是可调用的就返回 True,否则返回 False。
    print(f'{ callable(callable) = }')
    def function():
        pass
    print(f'{ callable(function) = }')
    print(f'{ callable(123) = }')
    print(f'{ callable("test") = }')
    # 请注意类是可调用的(调用类将返回一个新的实例);
    print('--------')
    class C:
        pass
    print(f'{ callable(C) = }')
    # 如果实例所属的类有 __call__() 则它就是可调用的。
    print(f'{ callable(C()) = }')
    print('--------')
    class C:
        def __call__(self):
            return "test"
    print(f'{ callable(C()) = }')
    print(f'{ C()() = }')


    今天对于callable函数的学习到这里就结束了,相信小伙伴已经学会了判断类是否能被调用的方法,没事的时候可以勤加练习。

    专题推荐:callable
    上一篇:python中xrange是什么?为什么不常用? 下一篇:python中的classmethod进行注释

    相关文章推荐

    • python中callable的对象有哪些?

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网