品易云推流 关闭
文章详情页
文章 > Python基础教程 > callable怎样在python中判断类的调用?

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

头像

小妮浅浅

2020-12-14 18:26:371836浏览 · 0收藏 · 0评论

在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函数的学习到这里就结束了,相信小伙伴已经学会了判断类是否能被调用的方法,没事的时候可以勤加练习。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图