python 匹配函数的语法无效

Cai*_*awa 2 python

我对这个错误感到非常困惑。我想做的就是使用 match 函数,但我不断收到语法错误,即使我相信这没有任何问题。

这是我的代码:

def compile(code):
    code_ptr = 0;
    mem_ptr = 0;
    memory = [0] * 1000
    loop = []

    while code_ptr > len(code):
        command = code[code_ptr]
        match command:
            case '>':
                mem_ptr += 1
            case '<':
                mem_ptr -= 1
            case: '+':
                memory[mem_ptr] + 1
            case '-':
                memory[mem_ptr] - 1
        code_ptr += 1

    print(memory)
Run Code Online (Sandbox Code Playgroud)

这是错误:

    match command:
          ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

我正在运行Python 3.8.5

Sil*_*olo 7

正如评论中提到的,该match语法仅在 Python 3.10 中可用。没有任何from __future__技巧或向后移植可以使其发挥作用;这是一个重大的语法变化。因此不幸的是,获得此语法的唯一方法是升级您的 Python 版本。