Python callable() 函数



Python callable() 函数用于确定是否可以调用作为参数传递的对象。如果对象实现 __call__() 方法,则称该对象是可调用的。在这里,传递的对象可以是函数、方法、变量和类。

如果指定的对象是可调用的,则此函数返回 True,否则返回 False。请记住,尽管 callable() 函数可能返回 TRUE,但对象不一定总是可调用的。在某些情况下,它可能会失败。但是,如果返回值为 FALSE,则确定该对象不可调用。

callable() 函数内置函数之一,不需要任何模块导入。

语法

Python callable() 函数的语法如下 -


 callable(object)

参数

Python callable() 函数接受单个参数 -

返回值

Python callable() 函数返回一个布尔值

callable() 函数示例

练习以下示例来理解 Python 中 callable() 函数的使用:

示例:使用 callable() 函数

以下示例显示了 Python callable() 函数的基本用法。在这里,我们创建了一个用户定义的函数并应用 callable() 函数来检查给定的函数是否可调用。


def checkerFun():
	 	 return "This is qikepu"

output = callable(checkerFun)
print("Is the given method is callable:", output)	

当我们运行上述程序时,它会产生以下结果——

Is the given method is callable: True

示例:Lambda 表达式和 callable() 函数

在下面的代码中,我们有一个 lambda 表达式,callable() 函数检查是否可以调用此表达式。由于此 lambda 表达式是可调用的,因此此方法将返回 True。


lambdaExp = lambda x: x * 3
output = callable(lambdaExp)
print("Is the given lambda expression is callable:", output)

以下是上述代码的输出 -

Is the given lambda expression is callable: True

示例:将 callable() 函数与 class 和 instance 一起使用

下面的代码显示了 callable() 函数对给定类及其实例的使用。由于类和实例都是可调用的,因此此方法在这两种情况下都将返回 True。


class NewClass:
	 	def __call__(self):
	 	 	 print("qikepu")

print("Is the class is callable:")
print(callable(NewClass)) 	

instanceOfClass = NewClass()
print("Is the instance is callable:")
print(callable(instanceOfClass))	

上述代码的输出如下 -

Is the class is callable:
True
Is the instance is callable:
True

示例:将 callable() 函数与 String 对象一起使用

在下面的代码中,将创建一个字符串。然后,在 callable() 函数的帮助下,我们检查传递的字符串是否可调用。


nonCallableStr = "I am not callable String"
output = callable(nonCallableStr)
print("Is the string is callable:", output)

以下是上述代码的输出 -

Is the string is callable: False