比如有一个需求,我需要知道一个函数的参数信息,如果获取?
是在程序里判断,不是去看代码那种
比如下面的例子,我有一个 parse_params 专门用来对 func obj 的 params 做校验:
from loguru import logger
from typing import Callable
def haha(a: int, b: str, c=1, **kwages) -> int:
pass
def parse_params(func: Callable):
""" 分析目标函数的参数信息 """
logger.debug(func.__annotations__)
parse_params(haha)
本来想用 func obj 的 __annotations__
属性,但是这个不显示没有 typing hint 的参数
最好能把返回值也带上
Signature
看看这个满不满足需求可以获取参数的详细信息