参数注解之inspect里混淆不清的一些属性整理
Posted hongdanni
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了参数注解之inspect里混淆不清的一些属性整理相关的知识,希望对你有一定的参考价值。
def add(x:int,y:int=7) ->int:
return x+y
sig=inspect.signature(add) #inspect.Signature类
print(‘函数签名: ‘,sig)
#函数签名: (x:int, y:int=7) -> int
params=sig.parameters #mappingproxy类
print(‘函数参数: ‘,params)
#函数参数: OrderedDict([(‘x‘, <Parameter "x:int">), (‘y‘, <Parameter "y:int=7">)])
print(‘*‘*30)
#******************************
for k,v in params.items(): #键为str类,值为inspect.Parameter类
print(‘函数参数映射对象键:{} ;函数参数映射对象值:{}‘.format(k,v))
#函数参数映射对象键:x ;函数参数映射对象值:x:int
#函数参数映射对象键:y ;函数参数映射对象值:y:int=7
for param in params.values():#parameters映射对象值
print(param)
#x:int
#y:int
print(param.name)
#x
#y
print(param.annotation)
#<class ‘int‘>
#<class ‘int‘>
print(param.kind)
#POSITIONAL_OR_KEYWORD
#POSITIONAL_OR_KEYWORD
print(parma.default)
#<class ‘inspect._empty‘>
#7
param_list1=list(params)
print(param_list1)
#[‘x‘, ‘y‘]
param_list2=list(params.keys())
print(param_list2)
#[‘x‘, ‘y‘]
param_list3=list(params.values())
print(param_list3)
#[<Parameter "x:int">, <Parameter "y:int=7">]
以上是关于参数注解之inspect里混淆不清的一些属性整理的主要内容,如果未能解决你的问题,请参考以下文章
Spring Boot 2从入门到入坟 | 请求参数处理篇:常用参数注解之@RequestAttribute
Spring Boot 2从入门到入坟 | 请求参数处理篇:常用参数注解之@RequestAttribute
EventBusSubscribe 注解分析 ( Subscribe 注解属性 | threadMode 线程模型 | POSTING | MAIN | MAIN_ORDERED | ASYNC)(代