inspect

2024-10-15

.getmembers()

语法:inspect.getmembers(_object_[, _predicate_])

返回一个对象的所有成员,如果传递 predicate,则会对每个成员进行检查。

1
import inspect
2
3
# 获取 string 模块中所有常量
4
for name, value in inspect.getmembers(dict):
5
if name.startswith("_"):
6
continue
7
print(f"{name} = {value}")

.isfunction()

语法:inspect.isfunction(object)

检查对象是否为函数。

.ismethoddescriptor()

语法:inspect.ismethoddescriptor(object)

检查对象是否为方法描述器。

1
import inspect
2
3
inspect.ismethoddescriptor(dict.get)
4
# 返回 True

如果一个对象使用 ismethod() 、 isclass() 、 isfunction() 和 isbuiltin() 均返回 False 时,使用 ismethoddescriptor() 会返回 True。