论证传递问题

时间:2015-07-29 19:01:18

标签: python python-3.x

以下是我正在执行的功能:

def concat(*args, sep='/'):
    return sep.join(args)

当我尝试传递以下参数时,它会正确执行

>>> concat('earth', 'mars', 'venus')

输出: '土/火星/金星'

但是当我通过下面的论点时,我会在最后得到一个额外的点?

>>> concat('earth', 'mars', 'venus', ".")

输出:'earth / mars / venus /.'

是的,我知道在* args参数之后我们必须使用'仅限关键字'参数,但我的问题是,如果是这种情况,为什么它不会给出任何错误。为什么最后加点?

1 个答案:

答案 0 :(得分:1)

在这种情况下,您必须明确命名您正在传递的参数。

concat('earth', 'mars', 'venus', sep=".")

顺便说一下,这就是Python 3的print()的工作方式。