Python 语法错误
错误信息
SyntaxError: invalid syntax
快速摘要
你的 Python 代码有语法问题——可能是少了冒号、括号没配对,或用了 Python 不支持的写法。
为什么发生
if/for/def等语句末尾忘了冒号:括号、引号未配对
Python 2/3 语法混用,如
print没加括号用了中文标点(全角冒号、引号)代替英文标点
最小示例
✗ 错误代码
if x > 0
print(x)✓ 修复代码
if x > 0:
print(x)if 语句末尾必须有冒号 :。补上冒号后 Python 才能正确解析这个代码块。
如何诊断
阅读错误信息,Python 会用
^指出出错的位置检查报错行以及前一行的代码
确认所有标点都是英文半角,不是中文全角
如何修复
补上缺失的冒号、括号或引号
把中文标点替换成英文标点
如果是 Python 2 代码,把
print x改成print(x)
如何预防
使用带语法高亮和 Python linter(如 flake8、ruff)的编辑器
复制代码时注意来源,避免把中文标点带进来