Python inspect介绍
简介
inspect模块提供了许多有用的函数来帮助我们获取活动对象的信息,如模块、类、方法、函数、回溯等。它对于调试、元编程以及需要动态分析代码的场景非常有用。
核心功能
获取源代码信息
import inspect
def my_function():
pass
print(inspect.getsource(my_function))
获取类或函数的参数信息
import inspect
def greet(name, greeting="Hello"):
return f"{greeting}, {name}"
signature = inspect.signature(greet)
print(signature)
获取调用栈信息
import inspect
def foo():
caller_frame = inspect.currentframe().f_back
print(f"Caller: {caller_frame.f_code.co_name}")
def bar():
foo()
bar()
检查对象类型
import inspect
class MyClass:
pass
obj = MyClass()
print(inspect.isclass(obj))
print(inspect.ismethod(obj))本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Beyond Lightcone!






