在python中检测空函数定义

Ben*_*ahi 11 python introspection code-inspection

我需要检测函数是否为空定义.它可以像:

def foo():
    pass
Run Code Online (Sandbox Code Playgroud)

或者喜欢:

def foo(i, *arg, **kwargs):
    pass
Run Code Online (Sandbox Code Playgroud)

或者喜欢:

foo = lambda x: None
Run Code Online (Sandbox Code Playgroud)

使用'inspect'模块检测它们的最优雅方法是什么?有没有比这更好的方法:

def isEmptyFunction(func):
    e = lambda: None
    return func.__code__.co_code == e.__code__.co_code
Run Code Online (Sandbox Code Playgroud)

小智 0

你使用的方式有效。一个也许更“优雅”的解决方案是拥有一个函数列表,并且在所有空(或所有非空)函数中将其添加到列表中,然后检查该函数是否在列表中。