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类。

posted @ 2019-04-23 18:26  凌晨四点的蓝  阅读(689)  评论(0编辑  收藏  举报