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

509次阅读
没有评论

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

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

神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

相关文章:

版权声明:Python基础教程2022-12-07发表,共计1169字。
新手QQ群:570568346,欢迎进群讨论 Python51学习