callable内置函数

一只大学生 / 2024-09-21 / 原文

callable() 是 Python 内置的一个函数,用于检查一个对象是否可以被调用,也就是判断该对象是否是一个可调用对象。可调用对象包括函数、方法和实现了 call 方法的类实例。

例如:

def my_function():
    pass

class MyClass:
    def __call__(self):
        pass

print(callable(my_function))  # 输出: True
print(callable(MyClass()))     # 输出: True
print(callable(5))            # 输出: False
在你提到的 elif callable(view): 语句中,它用来判断 view 是否是一个可调用的对象,通常用于处理路由或视图函数时的条件判断。

我的示例:

def fun():
    return 1


print(callable(fun()))      # False

print(callable(fun))    # True

print(callable())

def fun():
    def view():
        return 2

    return view


print(callable(fun()))      # True

print(callable(fun))    # True

print()

def fun():
    def view():
        return 2

    # return view()    返回值
    return view    # 返回函数的引用


print(fun())      # <function fun.<locals>.view at 0x000002113D990D30> view函数的引用

print("------------")

print(fun)    # <function fun at 0x000002113D5F1040> fun函数的引用