5.26 如何获取一个函数设定的参数 =============================== .. image:: http://image.iswbm.com/20200804124133.png 在 Python 中有一个叫 inspect 的库,非常的好用,利用它可以获取一些数据,这在写一些框架时非常有用。 比如有下面这样一个函数 .. code:: python def demo(name, age, gender="male", *args, **kw): pass 使用 inspect 可以直接获取 .. code:: python >>> from inspect import signature >>> >>> sig = signature(demo) # # 获取函数签名 >>> sig 利用 inspect 还可以检查传参是否匹配签名 .. code:: python >>> sig.bind("王炳明", 27) >>> >>> sig.bind("王炳明") Traceback (most recent call last): File "", line 1, in File "/usr/lib64/python3.6/inspect.py", line 2997, in bind return args[0]._bind(args[1:], kwargs) File "/usr/lib64/python3.6/inspect.py", line 2912, in _bind raise TypeError(msg) from None TypeError: missing a required argument: 'age'