Python工具使用:Pycharm

学Python这么久以来,直到昨天同事问我:"你平时调试代码还全靠print啊?"我才突然意识到,用了这么久的PyCharm,居然还有很多能让我少掉头发、早下班的"隐藏操作"完全没碰过。如果你也刚好处于"会用,但总觉得没发挥出它全部实力"的阶段,今天这篇保姆级指南就是为你准备的。


PyCharm 从入门到真香:原来这些功能我都不知道

作者:燐妤

来源:CSDN

原文链接:点击此处


目录

[PyCharm 从入门到真香:原来这些功能我都不知道](#PyCharm 从入门到真香:原来这些功能我都不知道)

[1. 初识 PyCharm------你的开发老伙计](#1. 初识 PyCharm——你的开发老伙计)

[2. 基础配置:打造专属工作台](#2. 基础配置:打造专属工作台)

[2.1 主题与字体](#2.1 主题与字体)

[2.2 键盘映射(Keymap)](#2.2 键盘映射(Keymap))

[2.3 项目解释器与虚拟环境](#2.3 项目解释器与虚拟环境)

[3. 编码加速器:那些让你手速翻倍的功能](#3. 编码加速器:那些让你手速翻倍的功能)

[3.1 智能代码补全与 Live Templates](#3.1 智能代码补全与 Live Templates)

[3.2 重构------别手动修改,让 IDE 帮你](#3.2 重构——别手动修改,让 IDE 帮你)

[3.3 代码折叠与结构浏览](#3.3 代码折叠与结构浏览)

[3.4 书签与 TODO](#3.4 书签与 TODO)

[4. 调试与测试:别再只用 print 了](#4. 调试与测试:别再只用 print 了)

[4.1 断点与逐行执行](#4.1 断点与逐行执行)

[4.2 条件断点](#4.2 条件断点)

[4.3 异常断点](#4.3 异常断点)

[4.4 单元测试集成](#4.4 单元测试集成)

[5. 集成工具:Git、数据库、终端一把梭](#5. 集成工具:Git、数据库、终端一把梭)

[5.1 Git 无缝衔接](#5.1 Git 无缝衔接)

[5.2 数据库工具(专业版)](#5.2 数据库工具(专业版))

[5.3 内置终端与 Python 控制台](#5.3 内置终端与 Python 控制台)

[6. 进阶玩法:远程开发与科学模式](#6. 进阶玩法:远程开发与科学模式)

[6.1 远程服务器解释器](#6.1 远程服务器解释器)

[6.2 科学模式与 Jupyter 集成](#6.2 科学模式与 Jupyter 集成)

[7. 常见坑与效率秘诀](#7. 常见坑与效率秘诀)

[8. 总结](#8. 总结)


1. 初识 PyCharm------你的开发老伙计

下载安装就不多说了,官网一路 next 就行。这里主要提一下两个版本的选择:

  • 社区版(Community):免费,足够应对纯 Python 开发、Web(Django/Flask 其实也支持部分)、测试等。
  • 专业版(Professional):支持 Web 框架深度集成、数据库工具、远程开发、科学模式等,学生教师可免费申请。

如果你是学生,千万别浪费教育邮箱的福利。如果你已经工作了,建议公司报销专业版,毕竟"工欲善其事,必先利其器"不是白说的。

打开软件后,默认界面可能让你觉得有点眼花,别急,所有面板都能拖拽、隐藏。最核心的区域是:

  • 左侧项目文件树:管理你的代码结构。
  • 中间编辑区:写代码的主战场。
  • 顶部导航栏:运行、调试、搜索等常用操作。
  • 底部工具栏:终端、Python 控制台、TODO、版本控制等。

记住快捷键 Ctrl+Shift+F12 可以一键最大化编辑区,写完代码再按回来,专心与走神之间快速切换。


2. 基础配置:打造专属工作台

2.1 主题与字体

默认配色看久了眼睛累,去 Settings -> Editor -> Color Scheme 可以下载各种主题,比如 Dracula、One Dark、Monokai 等。推荐 Material Theme UI 插件,能让 PyCharm 颜值提升一个档次。

字体建议换为 JetBrains Mono,这是一款专门为开发者设计的等宽字体,连字功能让 !==> 看起来更舒服。设置路径:Editor -> Font,选上 Enable ligatures

2.2 键盘映射(Keymap)

如果你从别的编辑器转过来,比如 VS Code、Sublime,可以在 Settings -> Keymap 直接切换到你熟悉的快捷键方案。当然,我还是推荐慢慢适应 JetBrains 自己的一套,通用性更强,而且很多操作是经过精心设计的。

这里安利几个我天天用的通用快捷键(Windows/Linux,Mac 把 Ctrl 换 Cmd):

  • Ctrl + Shift + A:万能搜索,任何操作都能搜到,不知道快捷键时就用它。
  • Ctrl + E:最近打开的文件列表。
  • Ctrl + Tab:在已打开的文件和工具窗口间切换。
  • Alt + Enter:万能修复/提示键,见错就按。

2.3 项目解释器与虚拟环境

新建项目时一定要注意选择正确的 Python 解释器。养成给每个项目创建独立虚拟环境的习惯(推荐用 venvconda),避免依赖污染。PyCharm 会自动识别并激活环境,你只需要在下拉框里指一下就行了。

点击底部状态栏的 Python x.x (env name) 也可以快速切换解释器。


3. 编码加速器:那些让你手速翻倍的功能

3.1 智能代码补全与 Live Templates

普通补全(Ctrl+空格)大家都会,但进阶用法往往被忽视:

  • 基本补全:直接写变量命首字母,它会根据上下文推测,按 Tab 或 Enter 补全。
  • 后缀补全:先写表达式,然后加点加关键字。比如 list.sort 会出现在补全列表里,ifn 可以生成 if 判断。输入 name.notnull 并选择,它会自动变成 if name is not None:
  • Live Templates(动态模板):Settings -> Editor -> Live Templates 里预置了大量快捷输入。例如在 Python 文件里输入 main 再按 Tab,立刻生成一个 if __name__ == '__main__': 代码块。输入 def 加 Tab 生成函数定义,iter 生成 for 循环,com 生成注释,等等。你甚至可以自定义模板,比如输入 try 生成带日志记录的异常捕获块。

实际开发中怎么用?写一个简单的函数:

Python

python 复制代码
# 输入 def fib 然后按 Tab,自动补全函数头
def fibonacci(n):
    """输入 """ + Enter 可以快速生成文档字符串模板"""
    a, b = 0, 1
    # 输入 for 加 Tab,自动生成循环框架
    for _ in range(n):
        print(a)
        a, b = b, a + b

看到没,大部分框架都是"填空"模式,只需关注逻辑本身。

3.2 重构------别手动修改,让 IDE 帮你

想给变量重命名?右键 -> Refactor -> Rename,或者快捷键 Shift + F6,所有用到的位置一块儿更新,连字符串里的引用(如果启用了 dynamic type check)都能跟着变,安全又省心。

想抽出一段代码变成函数?选中代码块,按 Ctrl + Alt + M(Extract Method),一键封装,你只要起个名字。

还有其他重构如内联、更改签名等,在大型项目中简直就是救星。

3.3 代码折叠与结构浏览

长文件眼花缭乱?按 Ctrl + - 折叠代码块,Ctrl + + 展开。使用 Ctrl + F12 打开当前文件的代码结构弹窗,像个迷你大纲,直接跳转到任意函数或类。这对于阅读源码特别方便。

3.4 书签与 TODO

临时要标记几行以后重点看的代码?按 F11 添加普通书签,Ctrl + F11 添加带数字/字母的助记书签。之后按 Shift + F11 打开书签面板,迅速导航。

写代码时顺手加 # TODO: 这里要处理异常 的注释,然后在底部工具栏打开 TODO 标签,它会列出项目中所有 TODO 和 FIXME,让你不遗漏任何待办事项。

为什么这么设计?因为这些功能本质上是在帮你减少认知负荷,让机器记住位置,你只管思考。


4. 调试与测试:别再只用 print 了

print 调试就像用手电筒在黑夜找路,能用但效率低。PyCharm 的调试器才是探照灯。

4.1 断点与逐行执行

在代码行号右边点一下出现红色圆点,就是断点。右键选择 Debug 运行(小虫子图标),程序会在断点处挂起。此时你可以:

  • F8:Step Over,执行当前行,不进入函数内部_
  • F7:Step Into,进入当前行调用的函数里_
  • Shift + F8:Step Out,跳出当前函数。
  • F9:继续运行到下一个断点。

变量值在底部的 Variables 窗口实时显示,鼠标悬停在代码变量上也能看到。更酷的是 Watches 窗口,你可以添加想持续关注的表达式。

4.2 条件断点

有时候循环 100 次,只想在第 50 次停下来检查。右键断点,输入条件,比如 i == 50,程序只在条件满足时中断。这对于排查特定数据的问题特别有效。

4.3 异常断点

再也不怕异常突然终止却没抓到现场了。Run -> View Breakpoints -> Java Breakpoints (类似) 其实可以设置 Python 异常断点:点击 + 号,选择 Python Exception Breakpoint,勾选 Any exception,这样一旦有任何异常抛出,程序会立刻暂停在出错行,不管是否有 try 包裹。注意生产环境要关掉,否则会影响性能。

4.4 单元测试集成

可以直接在 PyCharm 里运行 pytest 或 unittest 用例,失败用例会有非常友好的对比视图。右键测试文件或单个测试函数选择 Run/Debug,团队开发时覆盖率工具 Coverage 也是点一下就能看到哪行没测到。

示例:给刚才的斐波那契函数写个测试。

Python

python 复制代码
import unittest

def fibonacci(n):
    a, b = 0, 1
    result = []
    for _ in range(n):
        result.append(a)
        a, b = b, a + b
    return result

class TestFib(unittest.TestCase):
    def test_first_five(self):
        self.assertEqual(fibonacci(5), [0, 1, 1, 2, 3])

在类或方法上右键,选择 Run 'Unittest for test...' 即可。


5. 集成工具:Git、数据库、终端一把梭

5.1 Git 无缝衔接

PyCharm 内置了 Git 支持,大多数操作不需要离开 IDE:

  • 查看改动:修改过的文件在编辑器左侧会显示蓝色线条,点击可以对比本次修改和仓库版本的差异。
  • 提交:Ctrl + K 弹出 Commit 窗口,勾选文件、写提交信息,还能集成代码分析,防止提交有警告的代码。
  • 分支管理:右下角显示当前分支名,点击可以新建、切换、合并分支,甚至用图形界面解决冲突。
  • 日志与 Diff:Alt + 9 打开版本控制窗口,浏览提交历史、查看每次修改的 Diff,比终端 git log 直观多了。

新增一个功能后提交的常见操作流:写完代码 -> Ctrl + K 查看变更 -> 写 commit message -> 提交(并可选择 push)。

5.2 数据库工具(专业版)

专业版直接内置了 DataGrip 的核心功能。右侧边栏打开 Database,添加数据源(MySQL、PostgreSQL、SQLite 等),就能直接在 IDE 里写 SQL、浏览表、修改数据。最爽的是编辑器里写 SQL 字符串时,PyCharm 会提供代码补全和语法校验,甚至能直接运行光标处的 SQL 片段,调试 Django 模型时特别方便。

Python

python 复制代码
# 假设在 Django 项目中,PyCharm 能识别出 SQL 语法并高亮
cursor.execute("SELECT * FROM auth_user WHERE username = %s", [name])

把光标放在字符串内,Alt + Enter 可以切换到 SQL 编辑模式,独立执行。

5.3 内置终端与 Python 控制台

底部 Terminal 其实就是系统终端,但默认激活了项目的虚拟环境,不用手动 source venv/bin/activate。Python Console 则是一个交互式 Python shell,自动导入了当前项目的模块,可以直接测试函数,而且支持代码补全和语法高亮。


6. 进阶玩法:远程开发与科学模式

6.1 远程服务器解释器

如果你的代码跑在远端 Linux 服务器上,但本地是 Windows/Mac,可以用 PyCharm 配置远程解释器(SSH 连接)。所有代码存在本地,但运行和调试时使用服务器上的 Python 环境和文件系统。这样既可以享受本地流畅的编辑体验,又能直接用服务器上的 GPU 或数据。

配置路径:Settings -> Project -> Python Interpreter -> 齿轮 -> Add -> SSH Interpreter。填好服务器 IP、用户名密码,选择远程 Python 路径即可。文件上传同步也能自动完成。

6.2 科学模式与 Jupyter 集成

做数据分析的同学一定爱死这个功能。在 .py 文件右键选择 Convert to Jupyter Notebook 或者直接新建 .ipynb 文件,PyCharm 可以像 Jupyter Lab 一样运行单元格(Cell),图形和表格直接显示在下方。科学模式(View -> Scientific Mode)会双窗格显示运行结果和变量,方便探索性分析。

更厉害的是,你可以在同一个界面同时写 .py 脚本和 .ipynb,无缝切换,所有变量都在同一个解释器里共享。

Python

python 复制代码
# %%
import pandas as pd
df = pd.DataFrame({'a':[1,2,3]})
# 按 Ctrl+Enter 运行此单元格
print(df)

7. 常见坑与效率秘诀

  1. 内存占用高:PyCharm 确实是个"重量级"选手,尤其加载大项目时。可以在 Help -> Change Memory Settings 调大 -Xmx 的值(如 2048m)。另外关闭不需要的插件,排除索引中的大型数据文件(Mark Directory as -> Excluded)也能有效提速。
  2. 索引卡死:如果项目里有几千个依赖包或日志文件,索引会疯狂转圈。在 Settings -> Editor -> File Types 忽略特定的文件夹或文件类型(如 .log*.csv)能大幅改善。
  3. 双屏布局:把底部工具窗口拖出来放到另一个显示器,终端、数据库、调试变量全摊开,写代码时有更多可视区。
  4. 局部历史记录:即使你忘了 git add,PyCharm 也会自动保存文件的修改历史。在文件上右键 Local History -> Show History,可以回退到之前任意时间点的版本,救过我好几次命。
  5. 正则表达式测试:Ctrl+R 打开替换窗口,勾选 Regex,PyCharm 会实时高亮匹配内容,写复杂正则时不用专门打开 regex101 了。

8. 总结

回顾一下,我们聊了 PyCharm 从配置、编码加速、调试、集成工具到远程开发的全景玩法。它不只是一个编辑器,更像一个围绕 Python 生态打造的"工作室"。关键不是要把所有功能都记住,而是养成"遇到重复操作就去找 IDE 有没有更优解"的习惯------大多数时候,你可以直接 Ctrl+Shift+A 搜索你要做的事,答案就在那里。

下次有人再问你"PyCharm 怎么用?",别只说能写代码了,把这些技巧甩给他,瞬间专业度拉满。动手去试试吧,哪怕是调一个主题,加一个条件断点,都能让今天的开发比昨天更舒服。


常见面试问题:

Q: PyCharm 如何快速查找某个函数的所有调用位置?

A: 选中函数名,右键 Find Usages(快捷键 Alt+F7),可以查看整个项目中所有调用此函数的地方,并显示调用层级。这在重构或阅读代码时非常重要。
练习题:

  1. 创建一个新的 Python 项目,配置虚拟环境,在 main.py 里写一个带类型注解的计算圆面积的函数,并使用 Live Templates 快速生成注释和测试框架。
  2. 故意在函数里引发一个除零错误,设置异常断点,观察程序在中断时的变量状态,然后用 F8F7 逐行调试。

希望这篇长文能帮你真正把 PyCharm "玩明白"。码字不易,如果觉得有用,欢迎点赞收藏,我们下次见。

每日励志文案:

最好的伯乐,是努力的自己

相关推荐
Wonderful U1 小时前
基于Python+Django的私有化云笔记系统:从痛点分析到完整实现
笔记·python·django
weixin_468466851 小时前
机器学习数据预处理新手实战指南
人工智能·python·算法·机器学习·编程·数据预处理
大数据魔法师1 小时前
Streamlit(二十)- API 参考文档(十三)- 缓存与状态管理组件
python·web
Cloud_Shy6182 小时前
解读《Effective Python 3rd Edition》:从练气到老魔(第一章 Item 7 - 9)
开发语言·数据库·python
weixin_BYSJ19872 小时前
基于Django的非物质文化遗产管理系统设计与实现(源码 + 文档)98950
java·javascript·spring boot·python·django·flask·php
Wonderful U2 小时前
基于Python+Django+psutil的轻量化服务器自动化监控平台实战
服务器·python·django
烤代码的吐司君2 小时前
Redis 简介和安装
python
毕设做完了吗?2 小时前
YOLO+paddlecor的智能车牌识别系统
人工智能·python·yolo·目标检测·计算机视觉