PyCharm运行match/case语句报SyntaxError语法错误问题求助
问题原因
match/case结构模式匹配是Python 3.10版本才正式加入的新语法特性,你当前使用的Python 3.9.1版本不支持该语法,所以运行时会抛出SyntaxError: invalid syntax的报错。
PyCharm 2021.2.3版本已经提前适配了Python 3.10的语法高亮规则,所以即使你用的是低版本解释器,代码里的match、case关键字也会被识别为合法关键字标蓝,但这个高亮规则和实际运行调用的解释器版本没有关联。
解决方案
- 方案一:升级Python解释器到3.10及以上版本
升级完成后在PyCharm中切换项目解释器:依次打开File > Settings > Project: 你的项目名称 > Python Interpreter,在下拉菜单中选择你安装的3.10+版本的解释器,确认后重新运行代码即可。 - 方案二:不升级Python版本,用if-elif结构替代match/case
你的代码可以改写为以下兼容3.9及更低版本的写法:
def test(action): if action == "send": pass elif action == "create": pass elif action == "dump": pass
内容的提问来源于stack exchange,提问作者t3chb0t
相关产品推荐
相关产品推荐

