SyntaxError: only named arguments may follow *expression
时间: 2024-01-24 20:16:52 浏览: 123
这个错误通常出现在使用了 *args 后又跟了一个关键字参数。这是因为 *args 用于接收任意数量的非关键字参数,而关键字参数必须在它之后。
例如,下面这段代码就会出现这个错误:
```
def foo(*args, a):
print(args)
print(a)
foo(1, 2, 3, a=4)
```
正确的写法是将关键字参数 a 放在 *args 之后:
```
def foo(*args, a):
print(args)
print(a)
foo(1, 2, 3, a=4)
```
阅读全文