欢迎访问宙启技术站
智能推送

使用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()函数,可以方便地判断一个对象是否可调用,从而更加灵活地处理不同类型的对象。