【问题标题】:Python Using Keyword and variable number of arguments in same functionPython在同一函数中使用关键字和可变数量的参数
【发布时间】:2016-12-12 06:31:49
【问题描述】:

我想知道是否有办法在 python 2.7.12 中做这样的事情

def saveValues(file,*data,delim="|"):
    buf=""
    for d in data:
       buf+=str(d) + delim
    open(file,"w").write(buf[:-1])

这样我就可以选择传递 delim,或者采用默认值。

【问题讨论】:

  • 您是否按原样尝试过?我认为它应该有效。
  • @MattCremeens 这是一个语法错误
  • 不...在 2.7 中不起作用...可能在 3 中起作用,但我使用的是嵌入式设备,我必须使用我拥有的东西。

标签: python python-2.7 function arguments


【解决方案1】:

在 Python 3.0+ 中,在实现 PEP 3102 -- Keyword-Only Arguments 之后是可能的。实际上,语法正是您所展示的方式。

Python 2 通常的解决方法是这样的:

def saveValues(file, *data, **kwargs):
    delim = kwargs.pop('delim', '|')
    ...

【讨论】:

    猜你喜欢
    • 2018-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-26
    • 2016-11-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多