inspect

2016-09-20  本文已影响13人  bigtom
方法 作用
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())
上一篇下一篇

猜你喜欢

热点阅读