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())