Python inspect模块参数类型kind的整理

名称含义
POSITIONAL_ONLY必须为位置参数,python没有明确定义位置参数的语法
POSITIONAL_OR_KEYWORD可以为位置参数或者关键字参数
VAR_POSITIONAL位置参数的元素没有绑定到任何其他参数,对应python函数定义中的*args(可变参数)
KEYWORD_ONLY值必须作为关键字参数提供,只有关键字参数是指出现在*或者*args之后的参数(命名关键字参数)
VAR_KEYWORD没有绑定到任何其他参数的关键字参数的字典,对应参数定义的**kwargs(关键字参数)

上面就是各参数类型的含义,下面来个例子:

import inspect


def foo(a, b, *args,c, **kwargs):
    pass


sig = inspect.signature(foo)
for name, param in sig.parameters.items():
    print('参数:%s的类型为:%s' % (name, param.kind))

输出结果如下:

参数:a的类型为:POSITIONAL_OR_KEYWORD
参数:b的类型为:POSITIONAL_OR_KEYWORD
参数:args的类型为:VAR_POSITIONAL
参数:c的类型为:KEYWORD_ONLY
参数:kwargs的类型为:VAR_KEYWORD
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值