Python标准库--inspect _原创文档.pdfVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

Python标准库--inspect

inspect模块是针对模块,类,⽅法,功能等对象提供些有⽤的⽅法。例如可以帮助我们检查类的内容,检查⽅法的代码,提取和格式化⽅法的参数

等。

importinspect

importos

classTest(object):

TestClass

deftest(self):

self.fuc=lambdax:x

classTestone(Test):

pass

print(inspect.ismodule(os))#True

print(inspect.isclass(Test))#True

print(inspect.getdoc(Test))#TestClass

print(inspect.getsourcefile(Test))⽂件路径#

print(inspect.getsourcelines(Test))代码块,每⾏⼀个元素,组成数组#

print(inspect.getsource(Test))获取代码块原本内容,带缩进#

打印全局中的变量

#打印全局变量中的模块对象

myglobals={}

myglobals.update(globals())

modules=[value

forkey,valueinmyglobals.items()

ifinspect.ismodule(value)]

print(modules)

输出结果:

查看类和类对象有哪些⽅法可以调⽤

#查看类的可调⽤⽅法

forname,valueininspect.getmembers(Test,callable):

print(Callable:,name)

forname,valueininspect.getmembers(Test(),callable):

print(InstanceCallable:,name)

获取栈的全部调⽤信息

defdebug():

importinspect

print(inspect.stack()[0][3])

print(inspect.stack()[1][3])

caller_name=inspect.stack()[1][3]

#print([DEBUG]:enter{}().format(caller_name))

defsay_hello():

debug()

#print(hello!)

defsay_goodbye():

debug()

#print(goodbye!)

if__name__==__main__:

say_hello()

say_goodbye()

运⾏结果:

debug

say_hello

debug

say_goodbye

1.inspect.ismodule(object):是否为模块

2.inspect.isclass(object):是否为类

3.inspect.ismethod(object):是否为⽅法(boundmethodwritteninpython)

4.inspect.isfunction(object):是否为函数(pythonfunction,includinglambdaexpression)

5.inspect.isgeneratorfunction(object):是否为python⽣成器函数

6.inspect.isgenerator(object):是否为⽣成器

7.inspect.istraceback(object):是否为traceback

8.inspect.isframe(object):是否为frame

9.inspect.iscode(object):是否为code

10.inspect.isbuiltin(object):是否为built-in函数或built-in⽅法

11.inspect.isroutine(object):是否为⽤户⾃定义或者built-in函

文档评论(0)

精品文档 + 关注
实名认证
文档贡献者

从事一线教育多年 具有丰富的教学经验

1亿VIP精品文档

相关文档