PyCharm
一、介绍
PyCharm 是 JetBrains 公司开发的一款功能强大的 Python 集成开发环境(IDE)。它专为 Python 开发设计,提供了一系列强大的工具和功能,帮助开发者更高效地编写、调试和维护 Python 代码。以下是对 PyCharm 的详细介绍:
主要特性
1. 智能代码编辑
PyCharm 提供了智能代码补全、实时代码分析、代码导航和重构等功能,帮助开发者更高效地编写代码。它还支持多种编程语言,如 JavaScript、HTML、CSS 等,便于开发 Web 应用。
2. 调试和测试
PyCharm 内置了强大的调试器,支持断点设置、变量查看、单步执行等功能。此外,它还集成了单元测试框架,如 unittest、pytest 等,方便开发者编写和运行测试。
3. 版本控制
PyCharm 支持多种版本控制系统,包括 Git、Subversion、Mercurial 和 CVS。开发者可以直接在 IDE 中进行代码提交、分支管理、冲突解决等操作。
4. 数据库工具
PyCharm 提供了强大的数据库工具,支持连接多种数据库,如 MySQL、PostgreSQL、SQLite 等。开发者可以在 IDE 中执行 SQL 查询、编辑表结构、管理数据等。
5. Web 开发支持
PyCharm 支持 Django、Flask 等主流 Python Web 框架,提供了模板编辑、URL 路由导航、模型和视图的智能补全等功能。此外,它还支持 JavaScript、TypeScript、HTML 和 CSS 的开发。
6. 远程开发
PyCharm 支持远程开发,可以通过 SSH 连接远程服务器,直接在远程环境中编写和调试代码。这对于开发和部署在云端或服务器上的应用非常有用。
7. 项目和环境管理
PyCharm 可以方便地管理 Python 项目和虚拟环境。它支持创建和管理虚拟环境、设置依赖项、配置解释器等。
安装和配置
1. 下载和安装
从 PyCharm 官方网站 下载适用于你操作系统的安装包。PyCharm 提供两个版本:社区版(免费)和专业版(付费)。社区版适用于一般的 Python 开发,专业版提供了更多高级功能,如 Web 开发支持、数据库工具等。
2. 首次启动和配置
安装完成后,启动 PyCharm。首次启动时,可以按照提示进行一些基本配置,如主题选择、插件安装等。
3. 创建项目
在 PyCharm 中创建一个新项目时,可以选择使用现有的 Python 解释器或创建一个新的虚拟环境。PyCharm 会自动检测并配置项目的依赖项。
示例:创建和运行一个简单的 Python 项目
-
创建新项目
- 启动 PyCharm,点击 "Create New Project"。
- 选择项目位置和 Python 解释器,可以选择系统解释器或创建新的虚拟环境。
- 点击 "Create" 创建项目。
-
编写代码
-
在项目目录中创建一个新的 Python 文件(例如
hello.py
)。 -
编写简单的 Python 代码:
print("Hello, World!")
-
-
运行代码
- 右键点击
hello.py
文件,选择 "Run 'hello'",或者在工具栏中点击运行按钮。 - 代码将在内置终端中运行,并输出结果。
- 右键点击
PyCharm 与其他 IDE 的比较
- VS Code:VS Code 是一款轻量级的代码编辑器,通过扩展可以支持 Python 开发。相比之下,PyCharm 是专为 Python 开发设计的 IDE,提供了更强大的功能和集成。
- Jupyter Notebook:Jupyter Notebook 是一种交互式的笔记本环境,适用于数据科学和机器学习。PyCharm 也支持 Jupyter Notebook,但更适合一般的 Python 开发。
- Spyder:Spyder 是另一款用于科学计算的 Python IDE,集成了 IPython 控制台、变量浏览器等。PyCharm 提供了更多的开发工具和集成,适用于更广泛的开发需求。
总结
PyCharm 是一款功能强大、集成度高的 Python IDE,适用于各种规模的 Python 项目开发。它提供了智能代码编辑、调试、测试、版本控制、数据库工具等丰富的功能,帮助开发者提高开发效率和代码质量。无论是 Web 开发、数据科学还是一般的 Python 编程,PyCharm 都是一个理想的选择。
二、快捷键
1.代码编辑类
快捷键 | 作用 |
---|---|
CTRL+ALT+SPACE | 快速导入任意类 |
CTRL+SHIFT+ENTER | 代码补全 |
SHIFT+F1 | 查看外部文档 |
CTRL+Q | 快速查找文档 |
CTRL+P | 参数信息(在方法中调用的参数) |
CTRL+MOUSEOVERCODE | 基本信息 |
CTRL+F1 | 显示错误或警告的描述 |
CTRL+INSERT | 生成代码 |
CTRL+O | 重载方法 |
CTRL+ALT+T | 包裹代码 |
CTRL+/ | 单行注释 |
CTRL+SHIFT+/ | 块注释 |
CTRL+W | 逐步选择代码(块) |
CTRL+SHIFT+W | 逐步取消选择代码(块) |
CTRL+SHIFT+[ | 从当前位置选择到代码块的开始 |
CTRL+SHIFT+] | 从当前位置选择到代码块的结束 |
ALT+ENTER | 代码快速修正 |
CTRL+ALT+L | 代码格式标准化 |
CTRL+ALT+O | 最佳化导入 |
CTRL+ALT+I | 自动缩进 |
TAB | 代码向后缩进 |
SHIFT+TAB | 代码向前取消缩进 |
CTRL+SHIFT+V | 历史复制粘贴表 |
CTRL+D | 复制当前代码行/块 |
CTRL+Y | 删除当前代码行/块 |
CTRL+SHIFT+J | 代码连接为一行 |
SHIFT+ENTER | 开启新一行 |
CTRL+SHIFT+U | 字母大写 |
CTRL+DELETE | 向后逐渐删除 |
CTRL+BACKSPACE | 向前逐渐删除 |
CTRL+NUMPAD+/- | 代码块展开/折叠 |
CTRL+SHIFT+NUMPAD+ | 所有代码块展开叠 |
CTRL+SHIFT+NUMPAD- | 所有代码块折叠 |
CTRL+F4 | 关闭活动编辑窗口 |
2.搜索替换类
快捷键 | 作用 |
---|---|
CTRL+F | 查找 |
F3 | 查找下一个 |
SHIFT+F3 | 查找上一个 |
CTRL+R | 替换 |
CTRL+SHIFT+F | 指定路径下查找 |
CTRL+SHIFT+R | 指定路径下替换 |
3.运行调试
快捷键 | 作用 |
---|---|
ALT+SHIFT+F10 | 选择程序文件并运行代码 |
ALT+SHIFT+F9 | 选择程序文件并调试代码 |
SHIFT+F10 | 运行代码 |
SHIFT+F9 | 调试代码 |
CTRL+SHIFT+F10 | 运行当前编辑区的程序文件 |
4.调试
快捷键 | 作用 |
---|---|
F8 | 单步 |
F7 | 单步(无函数时同F8) |
SHIFT+F8 | 单步跳出 |
ALT+F9 | 运行到光标所在位置处 |
ALT+F8 | 测试语句 |
F9 | 重新运行程序 |
CTRL+F8 | 切换断点 |
CTRL+F8 | 查看断点 |
5.搜索
快捷键 | 作用 |
---|---|
ALT+F7 | 查找应用 |
CTRL+F7 | 在文件中查找应用 |
CTRL+SHIFT+F7 | 在文件中高亮应用 |
CTRL+ALT+F7 | 显示应用 |
6.重构
快捷键 | 作用 |
---|---|
F5 | 复制文件 |
F6 | 移动文件 |
SHIFT+F6 | 重命名 |
ALT+DELETE | 安全删除 |
CTRL+F6 | 改变函数形式参数 |
CTRL+ALT+M | 将代码提取为函数 |
CTRL+ALT+V | 将代码提取为变量 |
CTRL+ALT+C | 将代码提取为常数 |
CTRL+ALT+F | 将代码提取为字段 |
CTRL+ALT+P | 将代码提取为参数 |
7.动态模块
快捷键 | 作用 |
---|---|
CTRL+ALT+J | 使用动态模板包裹 |
CTRL+J | 插入动态模板 |
8.导航
快捷键 | 作用 |
---|---|
CTRL+N | 进入类 |
CTRL+SHIFT+N | 进入文件 |
CTRL+ALT+SHIFT+N | 进入符号 |
CTRL+←← | 进入上一个编辑位置 |
CTRL+→→ | 进入下一个编辑位置 |
CTRL+→→ | 进入下一个编辑位置 |
SHIFT+ESC | 隐藏活动/最后活动的窗口 |
CTRL+SHIFT+F4 | 关闭活动的运行/消息/查找等窗口 |
CTRL+G | 显示光标所在行与列 |
CTRL+E | 弹出最近打开的文件 |
CTRL+ALT+←/→←/→ | 向前/向后导航 |
CTRL+SHIFT+BACKSPACE | 导航到最后编辑的位置 |
CTRL+B | 跳转到声明部分 |
CTRL+CLICK(鼠标左键) | 跳转到声明部分 |
CTRL+ALT+B | 跳转到代码实施部分 |
CTRL+SHIFT+I | 打开快速定义查找 |
CTRL+SHIFT+B | 跳转到类型说明 |
CTRL+U | 跳转超类/方法 |
CTRL+↑↑ | 跳转到上一个方法 |
CTRL+↓↓ | 跳转到下一个方法 |
CTRL+[ | 跳转到代码块的开头 |
CTRL+] | 跳转到代码块的结尾 |
CTRL+F12 | 弹出文件结构 |
CTRL+H | 弹出类层次结构 |
CTRL+SHIFT+H | 弹出方法层次结构 |
CTRL+ALT+H | 弹出调用层次结构 |
F2/SHIFT+F2 | 下一个/上一个错误 |
F4 | 查看源代码 |
ALT+HOME | 显示导航栏 |
F2/SHIFT+F2 | 下一个/上一个错误 |
F11 | 增加书签 |
CTRL+F11 | 增加数字/字母书签 |
CTRL+SHIFT+[1-9] | 增加数字书签 |
SHIFT+F11 | 显示书签 |
9.通用
快捷键 | 作用 |
---|---|
ALT+[0-9] | 打开相应的工具窗口 |
CTRL+ALT+Y | 同步 |
CTRL+SHIFT+F12 | 最大化编辑器 |
ALT+SHIFT+F | 添加到收藏夹 |
ALT+SHIFT+I | 使用当前配置文件检查当前文件 |
CTRL+ALT+S | 快速出现设置对话框 |
CTRL+SHIFT+A | 查找并调试编辑器的功能 |
ALT+TAB | 在选项卡和工具窗口之间切换 |
ctrl + / | 多行快速注释 |
选中代码 shift + tab | 快速缩进回退 |
CTRL+ 鼠标右键 | 进入该函数或方法内部源文件 |
CTRL+SHIFT+F12 | 最大化编辑器 |
Ctrl + Alt + I 自动缩进 | 自动缩进 |
shift 两下 | 也可以搜索 |
Ctrl + R | 替换 |
CTRL+SHIFT+R | 全局替换 |
还有很多快捷键 可以直接在pycharm的帮助中看到 | Get started |PyCharm (jetbrains.com) |
相关文章:

PyCharm
一、介绍 PyCharm 是 JetBrains 公司开发的一款功能强大的 Python 集成开发环境(IDE)。它专为 Python 开发设计,提供了一系列强大的工具和功能,帮助开发者更高效地编写、调试和维护 Python 代码。以下是对 PyCharm 的详细介绍&am…...

【嵌入式开发 Linux 常用命令系列 1.5 -- grep 过滤特定类型文件】
请阅读【嵌入式开发学习必备专栏 】 文章目录 grep 过滤特定类型文件 grep 过滤特定类型文件 在Linux中使用grep搜索字符串时,如果你想排除特定类型的文件,比如 .map 和 .py 文件,可以使用grep的--exclude选项。这个选项允许你定义一个或多个…...

学习笔记——动态路由——OSPF(邻接/邻居)
十、OSPF的邻接/邻居 1、OSPF路由器之间的关系 (1)基本介绍 在OSPF网络中,为了交换链路状态信息和路由信息,邻居设备之间首先要建立邻接关系,邻居(Neighbors)关系和邻接(Adjacencies)关系是两个不同的概念。 OSPF路由器的两种关系&#x…...

k8s 答疑
1 如何修复容器中的 top 指令以及 /proc 文件系统中的信息呢? 这段自问自答的内容解释了如何通过使用 lxcfs 来修复 Docker 容器中 top 指令和 /proc 文件系统中的信息。让我们分步骤来详细说明: 背景信息 在容器化环境中,通常会遇到一个问题,即容器中的一些命令(如 to…...

[终端安全]-2 移动终端之硬件安全(SE)
本文主要介绍针对安全芯片的攻击和防护方案。 1 芯片攻击 1)故障注入攻击 故障注入攻击(Fault Injection Attack, FIA)是一种通过人为引入故障,诱发系统或芯片在异常情况下产生错误结果,从而泄露机密信息或破坏系统…...

数据库与SQL
数据库基本概念 数据库(DataBase):数据库就是存储数据的仓库数据库管理系统(DBMS):可以独立运行的软件,维护磁盘上的数据,用统一的方式维护不同种类的数据,做到通用且高效。常见的DBMS: mysqloracledb2sqlserver 数据…...

AIGC | 在机器学习工作站安装NVIDIA CUDA® 并行计算平台和编程模型
[ 知识是人生的灯塔,只有不断学习,才能照亮前行的道路 ] 0x02.初识与安装 CUDA 并行计算平台和编程模型 什么是 CUDA? CUDA(Compute Unified Device Architecture)是英伟达(NVIDIA)推出的并行计算平台和编…...

【电商纯干货分享】干货速看!电商数据集数据API接口数据分析大全!
数据分析——深入探索中小企业数字化转型,专注提供各行业数据分析干货、分析技巧、工具推荐以及各类超实用分析模板,为钻研于数据分析的朋友们加油充电。 公共参数 名称类型必须描述keyString是调用key(必须以GET方式拼接在URL中)…...

随手记录: Ubuntu NVIDIA显卡驱动安装后 屏幕亮度无法调节 无法连接外显示器等问题
背景 一句话:简单记录帮身边人装系统发现 GPU和外接显示器的无法连接,同时亮度无法调节等新问题 设备型号: 联想笔记本:ThinkBook 16p Gen2CPU:AMD Ryzen 7 5800HGPU:RTX 3060 问题描述及流程ÿ…...

Java:数组
文章目录 一、概念二、声明数组2.1 格式2.2 实例 三、初始化数组3.1 格式3.2 实例 四、处理数组4.1 for循环4.2 增强for循环 五、多维数组5.1 格式5.2 实例 一、概念 数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同。…...

【代码随想录——图论——岛屿问题】
1.岛屿数量 https://kamacoder.com/problempage.php?pid1171 1.1 深度优先搜索 package mainimport "fmt"var direction [][]int{{0, 1}, {0, -1}, {1, 0}, {-1, 0}}func main() {var M, N intfmt.Scanln(&N, &M)sea : make([][]int, N)visited : make…...

异步调用 - 初识
目录 1、引入 2、同步调用 2.1、例子:支付功能 2.2、同步调用的好处 2.3、同步调用的缺点 3、异步调用 3.1、异步调用的方式 3.2、异步调用的优势 3.3、异步调用的缺点 3.4、什么场景下使用异步调用 3.5、MQ技术选型 1、引入 为什么想要异步通信呢&…...

Java 家庭物联网
家庭物联网系统的代码和说明,包括用户认证、设备控制、数据监控、通知和警报、日志记录以及WebSocket实时更新功能。 ### 项目结构 plaintext home-iot-system ├── backend │ └── src │ └── main │ └── java │ └…...

机器学习——随机森林
随机森林 1、集成学习方法 通过构造多个模型组合来解决单一的问题。它的原理是生成多个分类器/模型,各自独立的学习和做出预测。这些预测最后会结合成组合预测,因此优于任何一个单分类得到的预测。 2、什么是随机森林? 随机森林是一个包含…...

Java - JDK17语法新增特性(如果想知道Java - JDK17语法新增常见的特性的知识点,那么只看这一篇就足够了!)
前言:Java在2021年发布了最新的长期支持版本:JDK 17。这个版本引入了许多新的语法特性,提升了开发效率和代码可读性。本文将简要介绍一些常见的新特性,帮助开发者快速掌握并应用于实际开发中。 ✨✨✨这里是秋刀鱼不做梦的BLOG ✨…...

Linux-DNS
DNS域名解析服务 1.DNS介绍 DNS 是域名系统 (Domain Name System) 的缩写,是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。…...

使用gitlab的CI/CD实现logseq笔记自动发布为单页应用
使用gitlab的CI/CD实现logseq笔记自动发布为单页应用 使用gitlab的CI/CD实现logseq笔记自动发布为单页应用如何实现将logseq的笔记发布成网站使用 logseq-publish-docker 实现手动发布使用gitlab的CI/CD实现自动发布过程中的问题及解决参考资料 使用gitlab的CI/CD实现logseq笔记…...

云联壹云 FinOps:赋能某车企公有云成本管理与精细化运营
背景 某车企,世界 500 强企业,使用了大量的公有云资源,分布于多家公有云,月消费在千万级别。 业务线多且分散,相关的云消耗由一个核心团队进行管理,本次案例的内容将围绕这些云成本的管理展开的。 需求 …...

C#静态类与非静态类
1、静态类 静态类有几个重要的特点: 1)无法实例化:由于静态类不能被实例化,因此它不会占用对象内存。 2)静态成员:静态类只能包含静态成员(静态方法、静态属性、静态事件等)。 3&am…...

亚信安全:《2024云安全技术发展白皮书》
标签 云计算 安全威胁 云安全技术 网络攻击 数据保护 一句话总结 《云安全技术发展白皮书》全面分析了云计算安全威胁的演进,探讨了云安全技术的发展历程、当前应用和未来趋势,强调了构建全面云安全防护体系的重要性。 摘要 云安全威胁演进ÿ…...

GuLi商城-商品服务-API-品牌管理-云存储开通与使用
这里学习下阿里云对象存储 地址:对象存储 OSS_云存储服务_企业数据管理_存储-阿里云 登录支付宝账号,找到了我以前开通的阿里云对象存储 熟悉下API 文档中心 简介_对象存储(OSS)-阿里云帮助中心 我们将用这种方式上传阿里云OSS...

git 命令行初始化并上传项目
XXXX 为项目名称 1. 初始化 cd D:\XXXX git init git remote add origin http://账号192.168.1.231:8088/r/XXXX.git 2. 拉取项目,做本地合并 git pull origin master git fetch origin git merge origin/master 3. 添加注释,上传 git add . git c…...

Spring框架Mvc(2)
1.传递数组 代码示例 结果 2.集合参数存储并进行存储类似集合类 代码示例 postman进行测试 ,测试结果 3.用Json来对其进行数据的传递 (1)Json是一个经常使用的用来表示对象的字符串 (2)Json字符串在字符串和对象…...

Python学习笔记29:进阶篇(十八)常见标准库使用之质量控制中的数据清洗
前言 本文是根据python官方教程中标准库模块的介绍,自己查询资料并整理,编写代码示例做出的学习笔记。 根据模块知识,一次讲解单个或者多个模块的内容。 教程链接:https://docs.python.org/zh-cn/3/tutorial/index.html 质量控制…...

【LLM】一、利用ollama本地部署大模型
目录 前言 一、Ollama 简介 1、什么是Ollama 2、特点: 二、Windows部署 1.下载 2.安装 3.测试安装 4.模型部署: 5.注意 三、 Docker部署 1.docker安装 2.ollama镜像拉取 3.ollama运行容器 4.模型部署: 5.注意: 总结 前言…...

Java毕业设计 基于SSM vue新生报到系统小程序 微信小程序
Java毕业设计 基于SSM vue新生报到系统小程序 微信小程序 SSM 新生报到系统小程序 功能介绍 学生 登录 注册 忘记密码 首页 学校公告 录取信息 录取详情 师资力量 教师详情 收藏 评论 用户信息修改 宿舍安排 签到信息 在线缴费 教室分配 我的收藏管理 我要发贴 我的发贴 管理…...

玩转云服务:Oracle Cloud甲骨文永久免费云服务器注册及配置指南
上一篇,带大家分享了:如何薅一台腾讯云服务器。 不过,只有一个月免费额度,到期后需要付费使用。 相对而言,海外云厂商更加慷慨一些,比如微软Azure、甲骨文、亚马逊AWS等。 甲骨文2019年9月就推出了永久免…...

Zabbix——宏
目录 宏的类型 常用宏 定义和使用宏 宏的优先级 使用宏的示例 在 Zabbix 中,宏(Macros)是一个非常强大的功能,允许你在监控配置中使用动态变量。宏可以在各种配置项中使用,例如触发器、动作、通知、图形和模板等。…...

Unity 简单载具路线 Waypoint 导航
前言 在游戏开发和导航系统中,"waypoint" 是指路径中的一个特定位置或点。它通常用于定义一个物体或角色在场景中移动的目标位置或路径的一部分。通过一系列的 waypoints,可以指定复杂的移动路径和行为。以下是一些 waypoint 的具体用途&…...

科普文:微服务之服务网格Service Mesh
一、ServiceMesh概念 背景 随着业务的发展,传统单体应用的问题越来越严重: 单体应用代码库庞大,不易于理解和修改持续部署困难,由于单体应用各组件间依赖性强,只要其中任何一个组件发生更改,将重新部署整…...