Python必须统一用空格缩进(标准为4个),因其靠缩进定义代码块,混用空格与Tab会因编辑器Tab宽度解释差异导致IndentationError;PEP 8禁止Tab缩进,但允许字符串中使用\t。

Python官方推荐用空格缩进,且标准缩进为4个空格。
为什么必须统一?
Python靠缩进来定义代码块,混用空格和Tab会导致IndentationError。即使看起来对齐,不同编辑器对Tab宽度的解释可能不同(比如设为2、4或8),实际字节数不一致,解释器会直接报错。
如何设置编辑器?
- VS Code:在右下角点击“Spaces: 4”,选“Convert Indentation to Spaces”
- PyCharm:File → Settings → Editor → Code Style → Python → “Use tab character”取消勾选,Tab size设为4
- Sublime Text:View → Indentation → Convert Indentation to Spaces,再设Indent Using Spaces
检查和修复已有代码
可以用python -m py_compile script.py提前发现缩进问题;更直观的是用flake8或black自动格式化:
pip install black && black your_file.py
特殊情况注意
PEP 8明确禁止Tab用于缩进,但允许在字符串字面量中使用Tab(如"\t")。如果团队已有历史代码用Tab,建议一次性全转为空格,避免长期混用。










