如何在python中获得干净的函数签名,如代码库所示?

问题描述 投票:0回答:1

我有以下代码来使用inspect获取函数签名,以将其打印到Python终端中

import inspect

def foo(a, b):
   # do something
   return ans

func_rep = foo
name = func_rep.__name__   # 'foo'
args = inspect.getfullargspec(func_rep).args  # ['a', 'b']
repstr = name + f'{str(tuple(args))}'
print(repstr)   # foo('a', 'b')

如上所述,表示的输出在单引号func_args中具有'a'

如何在终端中获得如下输出?或在导入的代码库中?

foo(a,b) 
python function python-3.7 inspect function-signature
1个回答
0
投票
此代码将打印函数签名而不使用单引号(')。

import inspect def foo(a, b): # do something return ans func_rep = foo name = func_rep.__name__ # 'foo' args = inspect.getfullargspec(func_rep).args # ['a', 'b'] print(name+'(%s)'%','.join(map(str, args)))

© www.soinside.com 2019 - 2024. All rights reserved.