使用可选参数和多个参数的可行性

Fal*_*ler 2 python python-3.3

只是想知道是否可以在同一个函数中使用可选参数作为多个参数.我环顾四周,觉得好像我的词汇错了或什么的.例:

def pprint(x, sub = False, *Headers):
  pass
Run Code Online (Sandbox Code Playgroud)

我是否可以使用多个标题来调用它而不必总是放入TrueFalse放入sub?我觉得这不是因为Headers不知道它从何处开始.我想明确声明,sub = True否则它默认为False.

Mar*_*ers 6

在Python 3中,使用:

def pprint(x, *headers, sub=False):
    pass
Run Code Online (Sandbox Code Playgroud)

把关键字参数的positionals.此语法在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
Run Code Online (Sandbox Code Playgroud)

必须为其指定一个不同的值sub调用时,使用关键字参数pprint()在这里定义的功能.