
在python中除了调用函数外,另一项比较常见的调用就是类了。对于很多初学者来言,是不能分清楚这个类是否能被调用的。不过我们也可以通过callable()函数来帮助检验,根据callable输出结果的True或者False来进行判断。下面我们就来了解callable的基本说明和实例演练。
1.说明
callable() 是一个bool函数,可以确定一个对象是否可以通过操作符()来调用,如果函数可以调用,返回True,否则返回False
注意类是callable的,因为调用类将会返回有一个新的实例。如果类的实例实现了__call__()方法,那么该实例也是callable的。
2.参数
object -- 对象
3.返回值
可调用返回 True,否则返回 False。
4.实例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | # 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函数的学习到这里就结束了,相信小伙伴已经学会了判断类是否能被调用的方法,没事的时候可以勤加练习。