2. PyCharm
上一章我们把 Python 环境搭好了,现在缺一个顺手的编辑器。我见过太多新手用记事本写代码,然后跑来问为什么缩进不对。说实话,选一个好 IDE,能帮你省掉一半的麻烦。
PyCharm 是我个人最推荐的 Python IDE,JetBrains 出品,专门为 Python 量身定制。免费社区版就够日常学习用了,专业版支持 Web 开发那些,后面用到了再说。
这一章我会带你走一遍 PyCharm 的安装、基本调校,还有最重要的——调试。调试这东西,刚开始觉得没必要,等你自己写出几百行代码出 bug 的时候就知道有多香了。
下载和安装
去 JetBrains 官网下载 PyCharm Community Edition。安装时一路 Next,注意勾选:
- 创建桌面快捷方式
- 将 .py 文件关联到 PyCharm
- 把启动器加到 PATH(方便以后命令行打开)
装完第一次打开会问要不要导入设置,新手直接选「Do not import settings」就行。然后会看到一个欢迎界面,让你选 UI 主题——我建议选 Darcula,深色主题写代码眼睛舒服些。
调校字体,别让眼睛受罪
默认字体一般是 12 或者 13,我建议至少调到 14。尤其是还接外接显示器的话,小字体看半小时就酸了。
设置路径:File → Settings → Editor → Font。
- Font:我推荐 Fira Code 或者 JetBrains Mono,等宽而且带连字。没有的话用 Consolas 也行。
- Size:14~16,看你自己屏幕分辨率。
- Line spacing:1.2~1.4,行间距太挤影响阅读。
快捷键,趁手才是王道
PyCharm 的快捷键非常多,我建议刚开始只记住几个高频的,后面慢慢加。设置路径:File → Settings → Keymap。
这里有个技巧:如果你之前用 VS Code 或者 Sublime,可以直接在 Keymap 下拉里选对应的方案,PyCharm 会自动映射。我个人还是用默认的 Eclipse / IntelliJ 方案,因为习惯了。
下面列一下你最先需要背下来的几个:
| 操作 | 快捷键(Windows / Linux) | 快捷键(macOS) | 说明 |
|---|---|---|---|
| 运行当前文件 | Ctrl + Shift + F10 | Ctrl + Shift + R | 快速跑脚本 |
| 调试当前文件 | Shift + F9 | Ctrl + Shift + D | 进入调试模式 |
| 设置 / 取消断点 | Ctrl + F8 | Cmd + F8 | 行号后面点一下也行 |
| 单步跳过 | F8 | F8 | 不进入函数内部 |
| 单步进入 | F7 | F7 | 会跳进调用函数里 |
| 恢复执行 | F9 | Cmd + Alt + R | 继续跑到下一个断点 |
| 搜索全局 | Ctrl + Shift + F | Cmd + Shift + F | 按文件名、内容都能搜 |
你觉得快捷键记不住?没关系。PyCharm 的菜单里每个操作后面都标着快捷键,多按几次肌肉记忆就有了。
其他几个常用设置
除了字体和快捷键,还有几个地方我每次新装 PyCharm 都会调:
- 自动导入:Settings → Editor → General → Auto Import,勾选「Add unambiguous imports on the fly」,这样你写
os然后按一下回车,PyCharm 自动帮你加import os。 - 文件编码:Settings → Editor → File Encodings,Global Encoding 和 Project Encoding 都设成 UTF-8。我之前遇到过一个同事文件编码用 GBK,代码发到我电脑上全是乱码……所以统一 UTF-8 省事。
- 代码样式:Settings → Editor → Code Style → Python,把缩进调成 4 空格(Python 官方标准)。Tab 那个选项不要勾“Use tab character”。
- 主题:除了 Darcula,你也可以去 Plugins 市场搜“Material Theme UI”,安装后有很多配色方案,选一个自己喜欢的。
main 展开成 if __name__ == '__main__':\n pass。写多了效率提升很明显。
调试——写代码的一半乐趣
调试是我认为 PyCharm 最强大的功能,没有之一。你想想看,写代码说白了就是在 debug,你把 bug 一个个消灭掉,程序就对了。
调试流程其实很简单,我画了张图帮你理清关系:
咱们拿一段代码实际走一遍。新建一个 Python 文件,写点东西:
def divide(a, b):
result = a / b
print(f"结果是: {result}")
return result
x = 10
y = 0
divide(x, y)
嗯,这代码一运行肯定报 ZeroDivisionError。咱们来调试找问题。
- 在
result = a / b这一行的行号旁边点一下,出现一个红色圆点——这就是断点。 - 右键编辑器,选 Debug(或者点右上角的绿色小虫子图标)。
- 程序停在断点处,行号变蓝。底部出现 Debug 窗口。
- 按 F8(Step Over),执行完除法,你会在 Variables 面板里看到
b的值为 0。 - 这时候你就明白了,除数不能为 0。在 Debug 窗口底部有个小计算器图标,点一下可以打开 Evaluate Expression(求值表达式),输入
b == 0,结果是True。 - 然后修复代码:加上一个条件判断。
再补充几个调试时你会遇到的实用功能:
- 条件断点:右键断点,可以输入条件表达式。比如只有
b == 0时断点才触发,其他情况直接跳过。这个在大循环里特别好用,不然要按几十次 Resume。 - 变量监视:选中一个变量按 Alt + F8(或者右键 Add to Watches),它会一直在 Watches 窗口显示当前值,不用每次到断点重新看。
- 快速查看:写代码时把鼠标悬停在变量上,会出现小卡片显示当前值——算是一个迷你版调试。
print() 或者其他内置函数本身设断点,那种断点每次打印都停一次,非常烦。
本章小结
PyCharm 安装和基本设置不难,但调试这一块我建议你花点心思。怎么检验你学没学会?找一份你自己之前写过的小程序,故意放一个 bug,然后用调试器找到它。亲自走一遍,比看十遍教程都管用。