inspect

方法 作用
getmembers(object[, predicate]) 获取某个对象的成员
getmoduleinfo(path) 返回模块信息
getmodulename(path) 返回模块名
ismodule(object) 判断是否为模块
inspect.isclass(object) 判断是否为类
ismethod(object) 判断是否为方法
isfunction(object) 判断是否为函数
isgeneratorfunction(object) 判断是否为生成器函数
isgenerator(object) 判断是否为生成器
istraceback(object) 判断是否为traceback
isframe(object) 判断是否为frame
iscode(object) 判断是否为code object
isbuiltin(object) 判断是否为内置函数或方法
isabstract(object) 判断是否为抽象基类
import inspect,sys

class Foo:
    def bar():
        pass
def bar():
    pass

foo = Foo()

def gene():
    n = 1
    while n < 100:
        n += 1
        yield n
g = gene()

code_object = compile('sum([1, 2, 3])', '', 'single')

assert inspect.isclass(Foo)
assert inspect.ismethod(foo.bar)
assert inspect.isfunction(bar)
assert inspect.isgeneratorfunction(gene)
assert inspect.isgenerator(g)
assert inspect.isbuiltin(abs)
assert inspect.iscode(code_object)
assert inspect.isframe(sys._getframe())

你可能感兴趣的:(inspect)