def thefunction(a=1,b=2,c=3):
pass
print allkeywordsof(thefunction) #allkeywordsof doesnt exist
这会给出 [a,b,c]
有没有类似allkeywordsof的函数?
我不能改变里面的任何东西,函数
最佳答案
我想你在找inspect.getargspec :
import inspect
def thefunction(a=1,b=2,c=3):
pass
argspec = inspect.getargspec(thefunction)
print(argspec.args)
产量
['a', 'b', 'c']
如果您的函数同时包含位置参数和关键字参数,那么查找关键字参数的名称会稍微复杂一些,但不会太难:
def thefunction(pos1, pos2, a=1,b=2,c=3, *args, **kwargs):
pass
argspec = inspect.getargspec(thefunction)
print(argspec)
# ArgSpec(args=['pos1', 'pos2', 'a', 'b', 'c'], varargs='args', keywords='kwargs', defaults=(1, 2, 3))
print(argspec.args)
# ['pos1', 'pos2', 'a', 'b', 'c']
print(argspec.args[-len(argspec.defaults):])
# ['a', 'b', 'c']
关于python - 获取函数的关键字参数,Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11915032/