首页 > 解决方案 > Python 3 中的特殊参数

问题描述

根据本教程的“特殊参数”部分(https://docs.python.org/3/tutorial/controlflow.html#defining-functions),以下异常函数定义应该是有效的:

def test_special(pos1, pos2, /, pos_or_kwd, *, kwd1, kwd2):
    print("in test_special")
    print("pos1: " + pos1)
    print("pos2: " + pos2)
    print("pos_or_kwd: " + pos_or_kwd)
    print("kwd1: " + kwd1)
    print("kwd2: " + kwd2)

但是我得到了错误:

$ python TestArgs.py
  File "TestArgs.py", line 11
    def test_special(pos1, pos2, /, pos_or_kwd, *, kwd1, kwd2):
                                 ^
SyntaxError: invalid syntax

我正在使用 Python 3.7.5 版。

标签: pythonpython-3.x

解决方案


函数定义中的/参数列表中的 是 Python 3.8.0 及更高版本的新语法。

这是 Python 3.7 中的语法错误


推荐阅读