python inspect模块

Posted gaoqiking

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python inspect模块相关的知识,希望对你有一定的参考价值。

参考链接:https://blog.csdn.net/weixin_35955795/article/details/53053762

  更深:https://blog.csdn.net/mldxs/article/details/8652010

inspect的作用:

(1). 对是否是模块,框架,函数等进行类型检查。

(2). 获取源码

(3). 获取类或函数的参数的信息

(4). 解析堆栈

此处对第三种进行介绍:

  inspect.signature(fn)将返回一个inspect.Signature类型的对象,值为fn这个函数的所有参数

  inspect.Signature对象的paramerters属性是一个mappingproxy(映射)类型的对象,值为一个有序字典(Orderdict)。

    这个字典里的key是即为参数名,str类型

    这个字典里的value是一个inspect.Parameter类型的对象,根据我的理解,这个对象里包含的一个参数的各种信息

  inspect.Parameter对象的kind属性是一个_ParameterKind枚举类型的对象,值为这个参数的类型(可变参数,关键词参数,etc)

  inspect.Parameter对象的default属性:如果这个参数有默认值,即返回这个默认值,如果没有,返回一个inspect._empty类。

以上是关于python inspect模块的主要内容,如果未能解决你的问题,请参考以下文章

python模块inspect.py

python inspect模块

基础入门_Python-模块和包.运维开发中inspect自省模块的最佳实践?

Python类型注解(inspect模块)

inspect:获取python对象的有用信息

python--inspect