如何在python中获得代码库中看到的干净函数签名?
我使用如何在python中获得代码库中看到的干净函数签名?,python,function,python-3.7,inspect,function-signature,Python,Function,Python 3.7,Inspect,Function Signature,我使用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(
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')
如上所述,表示的输出在单引号'a'
中有func_args
如何在终端中获得如下输出?还是在导入的代码库中
foo(a,b)
此代码将打印不带单引号(')的函数符号
此代码将打印不带单引号(')的函数符号
你不能用格式化的字符串吗
argstr = args[0]
for arg in args[1:]:
argstr +=', {}'.format(arg)
repstr='{}({})'.format(name, argstr)
你不能用格式化的字符串吗
argstr = args[0]
for arg in args[1:]:
argstr +=', {}'.format(arg)
repstr='{}({})'.format(name, argstr)
为什么不打印定义函数的行呢?你可以去掉所有你不需要的东西为什么不打印函数定义的行呢?你可以去掉你不需要的东西。现在,我在想为什么我自己不考虑这个。我想我需要休息一下。现在,我在想为什么我自己不考虑这个。我想我需要休息一下