一般来说,callable是可以被调用的东西。如果传递的对象看起来是可调用的,Python中的这个内置方法会检查并返回True,但可能不是,否则返回False。 语法:
null
callable(object)
callable()方法只接受一个参数和一个对象,并返回两个值中的一个:
- 如果对象似乎可调用,则返回True。
- 如果对象不可调用,则返回False。
注: callable()返回true的情况可能很少,但对object的调用失败。但如果case返回False,调用object将永远不会成功。
案例:当对象可调用时
# Python program to illustrate # callable() # a test function def Geek(): return 5 # an object is created of Geek() let = Geek print ( callable (let)) # a test variable num = 5 * 5 print ( callable (num)) |
输出:
True False
说明:
- 在这里,我们看到在第一种情况下,当在callable()方法中传递一个对象时,它返回True。这是因为 允许 是可调用函数的对象 笨蛋 (并非所有情况下都是如此)。
- 在第二种情况下 号码 绝对不是可调用对象,因此结果为False。
内置的callable()方法检查参数是否为以下两个参数之一:
- 具有 __打电话__ 方法
- 是具有指示可调用性的类型,如在函数、方法等中,或具有非空的tp_调用(c struct)成员
例子:
# Python program to illustrate # callable() class Geek: def __call__( self ): print ( 'Hello GeeksforGeeks' ) # Suggests that the Geek class is callable print ( callable (Geek)) # This proves that class is callable GeekObject = Geek() GeekObject() |
输出:
True Hello GeeksforGeeks
说明: 由于第一个案例返回并打印为True,这表明类Geek可能是可调用的。接下来,我们可以调用 __打电话__ 方法,从而证明该类是可调用的。
案例:当对象不可调用时
让我们看看这个例子中发生了什么:
# Python program to illustrate # callable() class Geek: def testFunc( self ): print ( 'Hello GeeksforGeeks' ) # Suggests that the Geek class is callable print ( callable (Geek)) GeekObject = Geek() # The object will be created but # returns an error on calling GeekObject() |
输出:
True
说明: callable()方法返回True,表明Geek类是可调用的,但Geek的实例不可调用(),并返回运行时错误:
Traceback (most recent call last): File "/home/3979dc83032f2d29befe45b6ee6001a4.py", line 10, in GeekObject() TypeError: 'Geek' object is not callable
本文由 金莫伦卡 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 贡献极客。组织 或者把你的文章寄到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。
如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END