关于python:函数中的位置和可选参数

Positional and optional parameters in functions

本问题已经有最佳答案,请猛点这里访问。

我试图将位置参数和可选参数传递给一个函数。

下面的代码适用于python 3:

1
2
3
4
5
6
def something(*args, cookie=None):            
    for arg in args:
        print(arg)
    print('cookie is ' + cookie)

something('a', 'b', 'c', cookie='oreo')

但它给予

SyntaxError: invalid syntax

使用python 2时。

在python 2中是否可以这样做?


如果稍微修改函数,就可以使其正常工作。似乎python2不支持您希望使用的确切语法。不过,您使用的语法在python3中有效。

1
2
3
4
def something(*args, **kwargs):
    for arg in args:
        print(arg)
    print('cookie is ' + kwargs['cookie'])