使用callable_()函数判断字符串是否可调用的小技巧
发布时间:2023-12-29 06:15:57
callable()函数是Python内置的一个函数,用于判断一个对象是否可调用。在Python中,可以通过在函数名后面添加一对括号,来调用一个函数。但是,并不是所有的对象都可以像函数一样被调用。
可以被调用的对象包括函数、方法、类以及实现了__call__()方法的对象。通过callable()函数,可以判断一个对象是否具有__call__()方法,如果有,则返回True,表示该对象是可调用的,否则返回False。
使用callable()函数判断一个字符串是否可调用,可以通过以下的方法:
def is_callable(obj):
if callable(obj):
print(obj + " is callable.")
else:
print(obj + " is not callable.")
上述代码中,定义了一个is_callable()函数,该函数接受一个参数obj,用于判断该对象是否可调用。然后,在函数体中,使用callable()函数判断obj是否可调用,如果是,则打印出"obj is callable.",否则打印出"obj is not callable."。
下面是一个使用例子,用来判断不同对象的可调用性:
class CallableClass:
def __call__(self):
print("I am callable.")
def callable_func():
print("I am also callable.")
not_callable_str = "I am not callable."
is_callable(CallableClass) # 输出:CallableClass is callable.
is_callable(CallableClass()) # 输出:CallableClass(...) is callable.
is_callable(callable_func) # 输出:callable_func is callable.
is_callable(not_callable_str) # 输出:not_callable_str is not callable.
在上面的例子中,首先定义了一个可调用的类CallableClass,该类实现了__call__()方法,因此它是可调用的。然后,定义了一个可调用的函数callable_func。最后,定义了一个字符串变量not_callable_str,它不是一个可调用的对象。
运行is_callable()函数,分别判断了上述不同对象的可调用性。根据输出结果可知,CallableClass和callable_func都是可调用的,而not_callable_str是不可调用的。
通过使用callable()函数,可以方便地判断一个对象是否可调用,从而更加灵活地处理不同类型的对象。
