PyCharm新手入门

前言

在之前《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 = 0else:# 计算距离退休还有多少天days_until_retirement = (retirement_date - today).daysreturn days_lived, days_until_retirementdef 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.rhkb.cn/news/354896.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LabVIEW程序闪退问题

LabVIEW程序出现闪退问题可能源于多个方面&#xff0c;包括软件兼容性、内存管理、代码质量、硬件兼容性和环境因素。本文将从这些角度进行详细分析&#xff0c;探讨可能的原因和解决方案&#xff0c;并提供预防措施&#xff0c;以帮助用户避免和解决LabVIEW程序闪退的问题。 1…

软考高级论文真题“论大数据lambda架构”

论文真题 大数据处理架构是专门用于处理和分析巨量复杂数据集的软件架构。它通常包括数据收集、存储、处理、分析和可视化等多个层面&#xff0c;旨在从海量、多样化的数据中提取有价值的信息。Lambda架构是大数据平台里最成熟、最稳定的架构&#xff0c;它是一种将批处理和流…

前端锚点 点击 滑动双向绑定

一. 页面样式 二. 代码 <div class"flexBox"><div class"mdDiv" v-for"(item,index) in tabList" :key"index" :class"nowChooseindex?choosed:" click"jumpMD(index, item.id)">{{item.name}}&l…

C++ 实现HTTP的客户端、服务端demo和HTTP三方库介绍

本文使用C模拟实现http的客户端请求和http的服务端响应功能&#xff0c;并介绍几种封装HTTP协议的三方库。 1、实现简单HTTP的服务端功能 本程序使用C tcp服务端代码模拟HTTP的服务端&#xff0c;服务端返回给客户端的消息内容按照HTTP协议的消息响应格式进行了组装。 demo如…

Apipost模拟HTTP客户端

目录 APIFOX的站内下载&#xff1a; Apipost模拟HTTP客户端&#xff08;正文&#xff09; 新建窗口 添加服务器地址、头信息介绍 添加请求体 发送以及返回状态 模拟HTTP客户端的软件有很多&#xff0c;其中比较著名的就有API-FOX、POSTMAN。 相信很多小伙伴都使用POSTMAN…

Maya 2024 mac/win版:创意无界,设计新生

Maya 2024是一款由Autodesk推出的业界领先的三维计算机图形软件&#xff0c;广泛应用于电影、游戏、广告等创意产业。这款软件以其强大的功能和卓越的性能&#xff0c;为艺术家们提供了一个实现创意梦想的平台。 Maya 2024 mac/win版获取 在建模方面&#xff0c;Maya 2024提供…

Flutter 自定义日志模块设计

前言 村里的老人常说&#xff1a;“工程未动&#xff0c;日志先行。” 有效的利用日志&#xff0c;能够显著提高开发/debug效率&#xff0c;否则程序运行出现问题时可能需要花费大量的时间去定位错误位置和出错原因。 然而一个复杂的项目往往需要打印日志的地方比较多&#…

YOLOv10改进 | Conv篇 |YOLOv10引入SPD-Conv卷积

1. SPD-Conv介绍 1.1 摘要:卷积神经网络(CNN)在图像分类和目标检测等许多计算机视觉任务中取得了巨大的成功。 然而,在图像分辨率较低或物体较小的更艰巨的任务中,它们的性能会迅速下降。 在本文中,我们指出,这源于现有 CNN 架构中一个有缺陷但常见的设计,即使用跨步卷…

【github】项目的代码仓库重命名

问题 有时候&#xff0c;我们先创建了远端项目仓库&#xff0c;然后就把相关code上传到远端项目仓库。 可能需要结合实际情况对远端项目仓库进行重命名。 当前仓库名称v_ttc&#xff0c;如何将他修改成v_datejs 操作步骤 1、在 GitHub.com 上&#xff0c;导航到存储库的主页…

【云原生】Kubernetes----Metrics-Server组件与HPA资源

目录 引言 一、概述 &#xff08;一&#xff09;Metrics-Server简介 &#xff08;二&#xff09;Metrics-Server的工作原理 &#xff08;三&#xff09;HPA与Metrics-Server的作用 &#xff08;四&#xff09;HPA与Metrics-Server的关系 &#xff08;五&#xff09;HPA与…

java面向对象(上)

一.面向对象与面向过程 1.面向过程 面向过程(procedure Oriented Programming),简称POP,主要思想就是将问题分解成一个个步骤去解决,把这个步骤称为函数. 典型语言:C语言 优点:可以大大简化代码 缺点:当代码量过大时,不方便维护 2.面向对象 面向对象(Object Oriented Pr…

【C语言】手写学生管理系统丨附源码+教程

最近感觉大家好多在忙C语言课设~ 我来贡献一下&#xff0c;如果对你有帮助的话谢谢大家的点赞收藏喔&#xff01; 1. 项目分析 小白的神级项目&#xff0c;99%的程序员&#xff0c;都做过这个项目&#xff01; 掌握这个项目&#xff0c;就基本掌握 C 语言了&#xff01; 跳…

口袋中有红、黄、蓝、白、黑5种颜色的球若干。每次从口袋中任意取出3个球,问得到3种不同颜色的球的可能取法,输出每种排列的情况

如果一个变量只能有几种可能的值&#xff0c;可以定义为枚举&#xff08;enumeration&#xff09;类型。所谓"枚举"是指将变量的值一一列举出来&#xff0c;变量的值只能在列举出来的值的范围内。 声明枚举类型用enum开头。例如&#xff1a; enum weekday{su…

Matlab个性化绘图第3期—带三维球标记的折线图

前段时间有会员在群里问该如何绘制下面这种带三维球标记的折线图&#xff1a; 本期内容就来分享一下带三维球标记的折线图的Matlab绘制思路。 先来看一下成品效果&#xff1a; 特别提示&#xff1a;本期内容『数据代码』已上传资源群中&#xff0c;加群的朋友请自行下载。有需…

Navicat和SQLynx功能比较三(数据导出:使用MySQL近千万数据测试)

数据导出的功能在数据库管理工具中是最普遍的功能之一。所以数据导出的功能稳定性和性能也是数据库管理工具是否能很好地满足应用需求的一个考虑因素。 目录 1. 整体比较 2. 示例 2.1 前置环境 2.2 Navicat导出 2.3 SQLynx导出 2.4 性能对比结果&#xff08;690万行数据&…

【机器学习】线性回归:从基础到实践的深度解析

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 线性回归&#xff1a;从基础到实践的深度解析引言一、线性回归基础1.1 定义与目…

浸没式液冷服务器的换热效率及节能潜力分析

服务器浸没式液冷的换热效率及节能潜力 摘要&#xff1a;我们针对服务器浸没式液冷实验台进行了深入测试&#xff0c;探究了不同室外温度和服务器发热功率对系统制冷PUE的影响。实验数据显示&#xff0c;该系统的制冷PUE值介于1.05至1.28之间&#xff0c;高效节能特点显著。 在…

Java代码如何运行

通过前面的第一篇文章&#xff0c;对JVM整体脉络有了一个大概了解。第二篇文章我们通过对高级语言低级语言不同特性的探讨引出了Java的编译过程。有了前面的铺垫&#xff0c;咱们今天正式进入Java到底是如何运行起来的探讨。 目前大部分公司都是使用maven作为包管理工具&#x…

大润发超市购物卡怎么用?

收到大润发超市的礼品卡以后&#xff0c;我才发现&#xff0c;最近的大润发也得十来公里 为了100块的大润发打车也太不划算了 叫外送也不在配送范围内 最后没办法&#xff0c;在收卡云上出掉了&#xff0c;还好最近价格不错&#xff0c;也不亏&#xff0c;收卡云的到账速度也…

Jmeter 性能测试步骤是什么?

性能测试是软件开发过程中非常重要的一环。它可以帮助我们评估软件系统在不同负载下的性能表现&#xff0c;找出系统中的性能瓶颈&#xff0c;并提供改进方案。而JMeter作为一款功能强大且广泛使用的性能测试工具&#xff0c;可以帮助我们实现这一目标。 下面&#xff0c;我将…