只是想知道是否可以在同一个函数中将两个可选参数都用作多个参数。我环顾四周,感觉好像词汇量错了什么的。例子:
def pprint(x, sub = False, *Headers):
pass
我可以调用它仍然使用多个头,而不必总是为sub放入
True
或False
吗?我觉得这是个否定,因为Headers
不知道它从哪里开始。我想明确声明sub = True
否则它默认为False
。 最佳答案
在Python3中,使用:
def pprint(x, *headers, sub=False):
pass
将关键字参数放在位置之后。此语法在Python 2中不起作用。
演示:
>>> def pprint(x, *headers, sub=False):
... print(x, headers, sub)
...
>>> pprint('foo', 'bar', 'baz', sub=True)
foo ('bar', 'baz') True
>>> pprint('foo', 'bar', 'baz')
foo ('bar', 'baz') False
调用此处定义的
sub
函数时,必须使用关键字参数为pprint()
指定其他值。关于python - 同时使用可选参数和多个参数的可行性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17729516/