Python最后一个位置参数方法调用

时间:2018-10-05 19:44:12

标签: python arguments

我习惯使用*_传递我不关心的参数给方法,例如:

def fun(a, *_):
   pass

这样fun可以用任意数量的位置参数调用,而我只保留第一个。

是否仅使用最后一个对称的可能性?像

def fun(*_, a):
    pass

1 个答案:

答案 0 :(得分:1)

是的,在python 3中有:

def fun(*_, a):
    print(_)
    print(a)

fun(1, 2, 3, a=4)

请注意,这样一来,您将不得不使用a作为关键字参数(并在任何情况下都指定a=...)。 f(4)不起作用。 f(a=4)将。

而这恰好可以用于:强制仅使用关键字的参数。

这是相应的PEP:PEP 3102