热线电话:13121318867

登录
2019-04-26 阅读量: 751
python中inspect模块是什么?

signature(callable)-><class ‘inspect.Signature’> 获取签名(函数签名包含了一个函数的信息,包括函数名,它的产生类型、它所在的类和名称空间及其他信息)

签名返回类型为inspect.Signature类型

parameters属性,记录了函数中定义是注解和参数。parameters实际上是一个字典。

annotation 可以获取parameters对应value值的类型,即定义是注解说明的类型。

简单示例

import inspect

def add(x,y:int=5,*args,k,z=4,**kwargs):
return x+y
sig = inspect.signature(add) #获取函数签名
print(sig,type(sig)) #函数签名
print("params =",sig.parameters) #记录参数
print(sig.parameters['y'],type(sig.parameters['y']))
print(sig.parameters['y'].annotation) #y参数的类型
print(sig.parameters['x'])
print(sig.parameters['x'].annotation) #如果定义函数参数时没添加注解类型,默认为inspect._empty空类型
print(sig.parameters['args'])
print(sig.parameters['args'].annotation)
print(sig.parameters['kwargs'])
print(sig.parameters['kwargs'].annotation)

0.0000
3
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子