代码之家  ›  专栏  ›  技术社区  ›  Bemmu

Python列表函数参数名称[重复]

  •  30
  • Bemmu  · 技术社区  · 16 年前

    def foo(bar, buz):
        pass
    
    magical_way(foo) == ["bar", "buz"]
    
    2 回复  |  直到 7 年前
        1
  •  61
  •   Nathaniel Jones    7 年前

    使用 inspect Python标准库中的模块(执行内省的最干净、最可靠的方法)。

    明确地, inspect.getargspec (f) 返回名称 和默认值 属于 f 的参数—如果只需要名称而不关心特殊形式 *a **k ,

    import inspect
    
    def magical_way(f):
        return inspect.getargspec(f)[0]
    

        2
  •  13
  •   John La Rooy    16 年前
    >>> import inspect
    >>> def foo(bar, buz):
    ...     pass
    ... 
    >>> inspect.getargspec(foo)
    ArgSpec(args=['bar', 'buz'], varargs=None, keywords=None, defaults=None)
    >>> def magical_way(func):
    ...     return inspect.getargspec(func).args
    ... 
    >>> magical_way(foo)
    ['bar', 'buz']
    
    推荐文章