PyCharm新手入门

news2025/2/25 1:59:32

前言

在之前《Python集成开发工具的选择》一文中介绍了python初学者可以使用Jupyter Notebook,Jupyter Notebook简单易用,可以用来练习代码编写,但是实际生产开发环境使用这个工具是远远不够用的,因为实际软件开发中需要软件调试、版本管理、单元测试、软件发布,这些功能Jupyter Notebook所不具备的。今天就介绍一下python开发中最常用的IDE:PyCharm 。它由 JetBrains 开发,功能强大,广泛用于 Python 开发。

一、Pycharm简介

PyCharm 有两个版本一个是免费的社区版,一个是收费的免费企业版,
下图是pycharm社区版和企业收费版的功能的对比。

功能社区版 (Community Edition)专业版 (Professional Edition)
基本编辑和开发功能
代码补全
调试器和测试运行器
VCS(版本控制)集成
局部历史记录
Python 重构
代码检查和快速修复
Python 控制台
集成终端
Python 解释器配置
Django 支持
Flask 支持
其他 Web 框架支持(如 Pyramid、Web2py)
HTML, CSS 和 JavaScript 编辑器
JavaScript 调试器
Live Edit
Docker 集成
数据库和 SQL 支持
IPython Notebook 支持
远程开发支持(SSH, Vagrant, WSL)
科学工具(如交互式 Python 控制台、科学模式)
多框架单元测试支持(pytest, unittest 等)
JavaScript、TypeScript 支持
Python Web 框架模板语言支持(如 Jinja2)
专业 IDE 功能(如 UML 视图、数据库工具)
Anaconda 支持
多语言支持(如 PHP, Ruby, Go, 等)
高级调试功能(如 Attach to Process, 多个调试器配置)
性能分析(Profiling)

对于个人开发者和中小团队,免费的社区版已经够用了。当然你享受更多尊贵的服务而选择付费,也是没人拦着你的。接下来从软件安装、汉化、基础配置、软件调试、git版本管理、单元测试、打包发布等几个方面详细阐述PyCharm 的常用功能。

二、PyCharm安装和汉化

2.1下载PyCharm

官方下载地址:https://www.jetbrains.com/zh-cn/pycharm/download/other.html
在这里插入图片描述
我的电脑是windows,就选择下载了windows社区版。

2.2安装PyCharm

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.3软件汉化:

安装后选择路径:File->Settings->Plugins,在以下页面搜索:中文语言包,如下图搜索到的第一个就是汉化包,点击右下【OK】安装即可。
在这里插入图片描述
安装完成后,弹出页面点击【Restart】按钮重启即可。
在这里插入图片描述

三、基础功能

3.1 编程页面的设置

1. 字体设置

在路径【文件】/【设置】/【编辑器】/【字体】打开设置字体页面。
在这里插入图片描述

2. 页面配色

在路径【文件】/【设置】/【编辑器】/【配色方案】打开设置配置颜色方案页面。
在这里插入图片描述

3. 文件编码设置

在路径【文件】/【设置】/【编辑器】/【文件编码】打开设置文件编码页面。
在这里插入图片描述
建议文件编码统一设置UTF8

3.2 虚拟环境设置

在创建一个新的Python项目时可以根据需要设置虚拟环境,这个虚拟环境即可以选择virtualenv创建的虚拟环境也可以选择conda创建的虚拟环境。当然也可以选择不用虚拟环境,直接用本地python解释器,但是不建议这样做,这样做会给你带来很多麻烦。具体如何创建和使用虚拟环境请参考之前两篇文章《Anaconda的安装和使用》和
《virtualenv和virtualenvwrapper的使用》
以下是用conda创建虚拟项目步骤:

  1. 创建新的conda环境pycharm,安装3.10版本的python
conda create --name pycharmpython=3.10
  1. 创建项目
    打开【文件】/【创建项目】,配置解释器为刚才创建的名为pycharm的conda环境。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

3.3 程序调试

在实际开发过程中,我们会遇到程序有错误(bug)的情况,这个时候我们就需要通过调试找出问题,因为在在调试过程中可以观察程序每个变量在执行过程中的数值变化,通过观察这些数据变化我们就能发现并解决问题。当我们创建完项目后,我们编写一段程序,并用这个程序演示代码的调试过程。这个程序主要功能是在命令行,用户输入一个人的出生日期,程序计算出这个日期出生的人已经活了多少天,还有多少天退休。
代码如下:

from datetime import datetime
def calculate_days_of_life(birth_date, retirement_age=60):
    """
    计算从出生日期到今天活了多少天,以及距离退休还有多少天。
    
    :param birth_date: 出生日期,格式为 'YYYY-MM-DD'
    :param retirement_age: 退休年龄,默认为60岁
    :return: 一个元组,第一个元素是活了多少天,第二个元素是距离退休还有多少天
    """
    # 将字符串日期转换为datetime对象
    birth_date_obj = datetime.strptime(birth_date, '%Y-%m-%d')
    # 获取当前日期
    today = datetime.today()
    # 计算活了多少天
    days_lived = (today - birth_date_obj).days
    # 计算退休日期
    retirement_date = birth_date_obj.replace(year=birth_date_obj.year + retirement_age)
    # 如果退休日期小于今天,则认为已经退休
    if retirement_date < today:
        days_until_retirement = 0
    else:
        # 计算距离退休还有多少天
        days_until_retirement = (retirement_date - today).days
    return days_lived, days_until_retirement

def main():
    # 用户输入出生日期
    user_birth_date = input("请输入您的出生日期 (格式 YYYY-MM-DD): ")
    try:
        # 调用函数并接收结果
        days_lived, days_until_retirement = calculate_days_of_life(user_birth_date)
        # 打印结果
        print(f"您已经出生了 {days_lived} 天。")
        if days_until_retirement > 0:
            print(f"您距离退休还有 {days_until_retirement} 天。")
        else:
            print("您已经退休了。")
    except ValueError:
        print("输入的日期格式不正确,请确保使用 YYYY-MM-DD 格式。")

if __name__ == "__main__":
    main()

这里对新手来讲介绍一下调试的基础操作:

  • 调试: 快捷键 Shift+F9
  • 断点: 首先介绍调试中断点的概念,断点就是在调试程序时,程序执行会停的点。在程序想要增加断点的地方双击即可,断点可以设置多个。
  • 单步执行: 调试时程序按照一行一行执行,单步进入函数内部执行。快捷键是F8
  • 断点执行: 调试时程序只在断点的地方停留。快捷键是F9
  • 步入: 调试时,如果执行的这行代码有引用其他模块的函数,会进入进入其他模块调试。快捷键是F7
  • 步出: 跳出其他模块,重新回到原来的程序执行。快捷键是Shift+F8
    在这里插入图片描述

3.4 常用快捷键

1. 通用操作

  • 打开设置:Ctrl+Alt+S (Windows/Linux),Cmd+ ,(Mac)
  • 打开项目:Ctrl+Shift+O(Windows/Linux),Cmd+Shift+O(Mac)
  • 切换全屏模式:Ctrl+Shift+F11(Windows/Linux),Cmd+Shift+F11(Mac)
  • 最近文件:Ctrl+E(Windows/Linux),Cmd+E(Mac)

2. 编辑操作

  • 复制行/选中块:Ctrl+D(Windows/Linux),Cmd+D(Mac)
  • 删除行:Ctrl+Y(Windows/Linux),Cmd+Backspace(Mac)
  • 移动行/选中块:Shift+Alt+Up/Down(Windows/Linux),Alt+Shift+Up/Down(Mac)
  • 展开/折叠代码块:Ctrl+Shift+Plus/Minus(Windows/Linux),Cmd+Plus/Minus(Mac)

3.导航和搜索

  • 查找文件:Ctrl+Shift+N (Windows/Linux),Cmd+Shift+O(Mac)
  • 查找类:Ctrl+N (Windows/Linux),Cmd+O(Mac)
  • 查找方法/函数:Ctrl+Shift+Alt+N (Windows/Linux),Cmd+Shift+Alt+O(Mac)
  • 跳转到定义:Ctrl+B 或 Ctrl+Click(Windows/Linux),Cmd+B 或 Cmd+Click(Mac)
  • 查找和替换:Ctrl+F(查找),Ctrl+R(替换)(Windows/Linux),Cmd+F(查找),Cmd+R(替换)(Mac)

4.代码辅助

  • 代码补全:Ctrl+Space(Windows/Linux),Ctrl+Space(Mac)
  • 智能补全:Ctrl+Shift+Space(Windows/Linux),Ctrl+Shift+Space(Mac)
  • 快速修复:Alt+Enter(Windows/Linux),Option+Enter(Mac)
  • 生成代码(如构造函数、Getter/Setter):Alt+Insert(Windows),Cmd+N(Mac)

5.重构

  • 重命名:Shift+F6(Windows/Linux),Shift+F6(Mac)
  • 提取变量:Ctrl+Alt+V(Windows/Linux),Cmd+Option+V(Mac)
  • 提取方法:Ctrl+Alt+M(Windows/Linux),Cmd+Option+M(Mac)

四、进阶功能

4.1 git版本管理

pycharm已经集成git的版本管理功能,我们可以在pycharm中建立git本地仓库,并将代码托管到github上。
下面介绍pycharm中git的基本使用

1. 添加github账号

打开路径【文件】/【设置】/【版本控制】/【Github】,点击"+"添加github账号。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2. git创建本地仓库

打开路径【版本控制】/【创建Git仓库】
在这里插入图片描述

3 git提交代码

在这里插入图片描述

4. git推送代码到github

  • 命令行添加远程仓库
git remote add origin https://github.com/luohanxi0421/HermeticCode.git
  • 推送代码到远程仓库
    在这里插入图片描述

4.2 实时模版(Live Templates)

实时模板允许你定义和插入可重用的代码片段,通过简单的快捷方式触发。这些代码片段可以包含变量占位符,自动替换为你在插入时指定的值。

1.使用实时模板

  • 快捷方式:在编辑器中输入模板的缩写(abbreviation)并按 Tab 键,模板会自动展开为完整的代码片段。
  • 例:输入 main 并按 Tab 键,插入一个 Python 的主函数模板:
if __name__ == '__main__':
    main()

2.实时模板的常用缩写

  • main:插入一个 Python 主函数结构。
  • def:插入一个函数定义。
  • for:插入一个 for 循环。
  • if:插入一个 if 语句。

3.创建和管理实时模板

打开实时模板设置:【文件】/【设置】/【编辑器】/【实时模版】
在这里插入图片描述

创建新模板:
在 Python 模板组下,点击 +,选择 实时模板。

配置模板:
Abbreviation:abc
Description:创建类的代码
Template Text:

class $NAME$:
    def __init__(self, $PARAM$):
        self.$PARAM$ = $PARAM$        
    def $METHOD$(self):
        pass

在这里插入图片描述
模版文本中像这种 P A R A M PARAM PARAM用两个$符包裹的就是变量,可以在编辑变量中设置他的值。
在这里插入图片描述

这里表达式可以动态给变量复制,比如表达式选择date(),$NAME$会替换为添加时的日期,默认值是静态赋值,这两个有一个赋值即可,两者都空着,生成代码时,变量占据的位置也同样空着。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1842070.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

API接口对接的步骤流程?有哪些注意事项?

API接口对接自动化的实现方法&#xff1f;如何调试API接口发信&#xff1f; 在现代软件开发中&#xff0c;API接口对接已成为各个系统和应用之间进行通信和数据交换的关键技术。AokSend将详细介绍API接口对接的步骤流程&#xff0c;帮助开发者更好地理解和实现这一过程。 API…

在webstorm配置nodejs(从零开始)

在webstorm配置nodejs之前&#xff0c;需要先下载node.js和webStorm。 按下winr&#xff0c;输入cmd打开命令行 输入node -v和npm -v会出现相应的版本&#xff0c;如果报错则需要去下载node.js。 打开webStorm&#xff0c;File—settings 搜索node 选择node.exe安装位置 重启…

大模型日报|8 篇必读的大模型论文

大家好&#xff0c;今日必读的大模型论文来啦&#xff01; 1.Pandora&#xff1a;自回归-扩散混合通用世界模型 世界模型模拟世界在不同行动下的未来状态&#xff0c;它们有助于创建交互式内容&#xff0c;并为有依据的长远推理提供基础。然而&#xff0c;目前的基础模型并不…

【stm32单片机应用】基于I2C协议的OLED显示(利用U82G库)

一、U8g2库 &#xff08;一&#xff09;U8g2简介 U8g2 是一个用于单色和彩色显示的嵌入式图形库&#xff0c;特别适用于单色OLED、LCD显示屏的驱动。它是对早期U8g库的扩展和改进&#xff0c;提供了更多功能和更广泛的硬件支持。U8g2作为一款强大而灵活的嵌入式图形库&#x…

为什么你不能下载哨兵遥感影像?Sentinel-1 和 Sentinel-2(解决)

​ 点击下方全系列课程学习 点击学习—>ArcGIS全系列实战视频教程——9个单一课程组合系列直播回放 点击学习——>遥感影像综合处理4大遥感软件ArcGISENVIErdaseCognition 今天的文章来介绍一下如何下载欧空局哨兵数据&#xff0c;哨兵数据是目前我们可以免费下载的全球…

海康威视-下载的录像视频浏览器播放问题

目录 1、播放异常比对 2、视频编码检查 2.1、正常视频解析 2.2、海康视频解析 2.3、比对工具 3、转码 3.1、maven依赖 3.2、实现代码 4、验证 在前面的文章&#xff08;海康威视-按时间下载录像文件_海康威视 sdk 下载录像 大小0-CSDN博客&#xff09;中&#xff0c;通…

吊打Unity的角色动画重定向专业版工具FPS手臂武器动画动物动画角色动作微调烘焙20240620

今天发现一款关注已久的Unity插件上架商店了&#xff0c;可以将动画从一个通用/人形角色重新定位到另一个通用角色。 吊打Unity的角色动画重定向专业版工具FPS手臂武器动画动物动画角色动作微调烘焙202406201103 Unity 中任何通用角色的终极解决方案。它没有 Humanoid 系统的限…

分析师:是什么导致山寨币在本轮周期表现不佳?

在加密货币领域&#xff0c;山寨币的过度分散化问题逐渐凸显&#xff0c;成为本轮周期内其表现疲软的核心因素。经过深入研究&#xff0c;我发现这种分散化对加密货币市场的整体健康造成了严重威胁。然而&#xff0c;令人遗憾的是&#xff0c;目前看来&#xff0c;我们尚未找到…

ECharts 雷达图案例001-自定义节点动画

ECharts 雷达图案例001-自定义节点动画 引言 在数据可视化的领域中&#xff0c;ECharts 提供了一种强大的工具来展示多维数据。本文将介绍如何使用 ECharts 创建一个自定义节点样式的雷达图&#xff0c;让数据展示更加生动和个性化。 效果预览 通过自定义节点样式&#xff…

数据结构_二叉树

目录 一、树型结构 二、二叉树 2.1 概念 2.2 特殊的二叉树 2.3 二叉树的性质 2.4 二叉树的存储 2.5 遍历二叉树 2.6 操作二叉树 总结 一、树型结构 树是一种非线性的数据结构&#xff0c;它是由 n(n>0) 个有限结点组成一个具有层次关系的集合&#xff0c;一棵 n 个…

CatBoost算法详解

CatBoost算法详解 CatBoost&#xff08;Categorical Boosting&#xff09;是由Yandex开发的一种基于梯度提升决策树&#xff08;GBDT&#xff09;的机器学习算法&#xff0c;特别擅长处理包含类别特征的数据集。它不仅在精度和速度上表现出色&#xff0c;还对类别特征有天然的…

工业园安全生产新保障:广东地区加强可燃气体报警器校准检测

广东&#xff0c;作为我国经济的重要引擎&#xff0c;拥有众多工业园区。 这些工业园区中&#xff0c;涉及化工、制药、机械制造等多个领域&#xff0c;每天都会产生和使用大量的可燃气体。因此&#xff0c;可燃气体报警器的安装与校准检测&#xff0c;对于保障工业园区的安全…

太湖远大毛利率下滑:研发费用率远低同行,募投项目合理性疑点重重

《港湾商业观察》黄懿 6月20日&#xff0c;浙江太湖远大新材料股份有限公司&#xff08;以下简称“太湖远大”&#xff0c;873743.NQ&#xff09;即将迎来过会。 2023年11月30日&#xff0c;太湖远大所提交的上市申请材料正式获北交所受理&#xff0c;保荐机构为招商证券&…

渗透测试基础(五) 获取WiFi密码

1. 前提条件 需要无线网卡&#xff0c;kali无法识别电脑自带的网卡。 2. 实验步骤&#xff1a; 2.1 查看网卡 命令&#xff1a;airmon-ng 2.2 启动网卡监听模式 命令airmon-ng start wlan0 检查下是否处于监听模型&#xff1a;ifconfig查看一下&#xff0c;如果网卡名加…

技术支持与开发助手:Kompas AI的革新力量

一、引言 随着技术发展的迅猛进步&#xff0c;技术开发的高效需求日益增加。开发人员面临着更复杂的项目、更紧迫的时间表以及不断提高的质量标准。在这种背景下&#xff0c;能够提供智能支持的工具变得尤为重要。Kompas AI 正是在这种需求下应运而生的。它通过人工智能技术&a…

word复制技巧二则

1 纵向复制 按下Alt键&#xff0c;按下鼠标左键拖动&#xff0c;选中要纵向复制的内容&#xff0c;如下图&#xff0c; 再粘贴即可&#xff1b; 2 整页复制 在页的任意位置单击&#xff0c;然后按CtrlA&#xff0c;这会选中整页&#xff1b;然后再复制粘贴即可&#xff1b;

企业为什么要进行数据资产管理工作:价值与案例剖析

在数字化浪潮席卷全球的今天&#xff0c;数据已经成为企业不可或缺的重要资产。数据资产管理&#xff0c;作为确保数据资产价值得以最大化利用的关键环节&#xff0c;正逐渐成为企业战略规划中的核心议题。本文将深入剖析企业进行数据资产管理工作的必要性&#xff0c;并结合实…

TikTok达人带货合作秘籍:从联系到合作,一站式合作流程解析

在数字化营销时代&#xff0c;TikTok作为一个全球性的短视频平台&#xff0c;已成为品牌推广的重要渠道。与TikTok达人建立合作关系&#xff0c;借助他们的影响力和粉丝基础&#xff0c;可以实现快速有效的带货效果。本文Nox聚星将和大家详细讨论如何有效地与选定的TikTok达人建…

【机器学习】【深度学习】MXnet神经网络图像风格迁移学习简介

使用部分 一、编程环境 编程环境使用Windows11上的Anaconda环境&#xff0c;Python版本为3.6. 关于Conda环境的建立和管理&#xff0c;可以参考我的博客&#xff1a;【Anaconda】【Windows编程技术】【Python】Anaconda的常用命令及实操 二、项目结构&#xff08;代码非原创…

【人机交互 复习】第8章 交互设计模型与理论

一、引文 1.模型&#xff1a; 有的人成功了&#xff0c;他把这一路的经验中可以供其他人参考的部分总结了出来&#xff0c;然后让别人套用。 2.本章模型 &#xff08;1&#xff09;计算用户完成任务的时间&#xff1a;KLM &#xff08;2&#xff09;描述交互过程中系统状态的变…