python中 callable()的作用是什么

今天就跟大家聊聊有关python中 callable()的作用是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。


callable语法:      
callable(object)
     

如果传递给callable的参数对象显示可调用,则返回True,反之,返回False;如果callable(obj)返回True,也不一定说明obj是可调用对象。如果返回False,则肯定不是可调用对象。

扩展:交互式命令行输入dir(locals()["builtins"]) 可查看内置

案例一      
#callalbe(obj)
k = 5
print(callable(k)) #False

def testFuction():
    print("Test")
y = testFuction #变量y指向函数名内存地址
print(callable(y)) #True
     

上面k是不可调用的(即不可callable),testFuction是可调用的,可见,整型数据是不可调用的,函数是可调用的。

案例二 类可调用:      
class Foo:
    def __call__(self):
        print("Print something")
print("Foo",callable(Foo)) #True
     
类的实例对象可调用:      
class Foo:
    def __call__(self):
        print("Print something")
InstanceofFoo = Foo() #实例化对象
InstanceofFoo() # Print something  实例后面加括号表示调用__call__()函数
     
案例三 虽然callable返回True显示可调用,但不是可调用对象:      
class Foo:
  def printLine(self):
    print('test')
print(callable(Foo)) # True
     
类显示可调用,但是没有定义call()方法,则实例不可调用:      
class Foo:
  def printLine(self):
    print('test')
print(callable(Foo)) # True
instanceofFoo = Foo()
print(callable(instanceofFoo)) #False
instanceofFoo()#实例化调用call  #TypeError: 'Foo' object is not callable


看完上述内容,你们对python中 callable()的作用是什么有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。