python如何查看函数参数_如何检查函数/方法采用的参数?

您可以使用^{}查看接受哪些参数,以及关键字参数的任何默认值。

演示:>>> def foo(bar, baz, spam='eggs', **kw): pass

...

>>> import inspect

>>> inspect.getargspec(foo)

ArgSpec(args=['bar', 'baz', 'spam'], varargs=None, keywords='kw', defaults=('eggs',))

>>> inspect.getargspec(foo).args

['bar', 'baz', 'spam']

在Python 3中,您希望使用^{},因为此方法支持新的python3函数参数特性:>>> def foo(bar: str, baz: list, spam: str = 'eggs', *, monty: str = 'python', **kw) -> None: pass

...

>>> import inspect

>>> inspect.getfullargspec(foo)

FullArgSpec(args=['bar', 'baz', 'spam'], varargs=None, varkw='kw', defaults=('eggs',), kwonlyargs=['monty'], kwonlydefaults={'monty': 'python'}, annotations={'baz': , 'return': None, 'spam': , 'monty': , 'bar': })

在Python 3中,inspect.getargspec()应该被视为不推荐使用。

Python 3.4添加了^{} object:>>> inspect.signature(foo)

>>> str(inspect.signature(foo))

"(bar:str, baz:list, spam:str='eggs', *, monty:str='python', **kw) -> None"

>>> inspect.signature(foo).parameters

mappingproxy(OrderedDict([('bar', ), ('baz', ), ('spam', ), ('monty', ), ('kw', )]))

还有更多有趣的签名选择。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值