python获取函数参数个数与默认参数的方法

刘超 12天前 ⋅ 99 阅读   编辑

一、python2.7

# python2.x
>>> def funca(a,b):
...     return(a+b)
... 
>>> print(funca.func_code.co_argcount)
2
>>> # 输出的函数参数个数
... 
>>> print(funca.func_code.co_varnames)
('a', 'b')
>>> #这里会输出函数用到的所有变量名,不只是参数名
... 
>>> print(funca.__defaults__)
None
>>> 
>>> 
>>> import inspect
>>> inspect.getargspec(funca)
ArgSpec(args=['a', 'b'], varargs=None, keywords=None, defaults=None)
>>> 

二、python3.6.3

C:\Users\ljc>python
Python 3.6.3 |Anaconda, Inc.| (default, Oct 15 2017, 03:27:45) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> def sum(a,b):
...     return(a+b)
...
>>> print(sum.__code__.co_argcount)
2
>>> print(sum.__code__.co_varnames)
('a', 'b')
>>> print(sum.__defaults__)
None
>>> import inspect
>>> inspect.getargspec(sum)
ArgSpec(args=['a', 'b'], varargs=None, keywords=None, defaults=None)
>>>

注意:本文归作者所有,未经作者允许,不得转载

全部评论: 0

    我有话说: