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 = 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$会替换为添加时的日期,默认值是静态赋值,这两个有一个赋值即可,两者都空着,生成代码时,变量占据的位置也同样空着。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

大数据数据挖掘系统可视化设计艺术

1.系统背景 在我们实际进行数据挖掘研发过程中&#xff0c;为了验证某些算法在业务中的性能每次都需要去从头写代码&#xff0c;如果我们将我们研发的算法以模块化的思想封装起来&#xff0c;下次再使用的时候直接在系统中进行拖拉一下生成一个工作流&#xff0c;就能完成数据挖…

Hive数据锁问题处理

在测试环境有定时任务会定期将flume采集的数据load到hive表中&#xff0c;在查看yarn application过程中发现load操作没有执行&#xff0c;且后续的任务在上一个任务执行结束后很久才开始。感觉像是阻塞一样&#xff0c;于是手动执行相关脚本&#xff0c;发现也是会卡住&#x…

无引擎游戏开发(3):数据结构设计|功能函数完善

为了简单起见&#xff0c;我们将棋盘的二维数组定义为全局变量。除此之外还要定义一个char类型的全局变量来识别当前的落子类型&#xff0c;我们将其初始化为‘O’。 char Board_data[3][3] {{-, -, -},{-, -, -},{-, -, -}, };char Cur_piece O; 现在回到“读取操作”部分…

Rancher注册已有k8s集群

Rancher安装后注册K8s集群操作 1.Rancher安装 编辑docker—compose文件 version: 3.8services:rancher:image: registry.cn-hangzhou.aliyuncs.com/rancher-images/rancher:v2.8.5container_name: rancherprivileged: truerestart: unless-stoppedports:- "18080:80&qu…

[创业之路-118] :制造业企业的必备管理神器-ERP-主要功能模块说明与系统架构

目录 一、ERP功能的标准化 二、常见的ERP标准化功能 2.1 基础档案 2.2 供应链 2.3 人力资源管理 2.4 资产管理 2.5 生产制造 2.6 财务会计 2.7 管理会计 2.8 CRM客户管理管理 2.9 商业智能分析 三、常见的ERP软件供应商 国内ERP软件供应商 国外ERP软件供应商 四…

西电研究生录取通知书来啦~ (吸吸欧气)

今日桂枝平折得 几年春色并将来&#xff0c;西安电子科技大学 那些深夜点灯的过往 那种日夜备考的迷惘 那个全力奔赴的梦想 都在这封通知书里得到回响&#xff01; —— Xidian University —— —— Xidian University —— XDU 今年的通知书采用紫色为主色 封面压印年…

阿里云API文档有哪些实用功能?如何使用?

阿里云API安全性如何保障&#xff1f;阿里云API怎么实现自动化&#xff1f; 阿里云作为全球领先的云计算服务提供商&#xff0c;提供了广泛的API接口&#xff0c;以满足各类用户的需求。阿里云API文档不仅详尽&#xff0c;而且易于使用&#xff0c;AokSend将详细介绍阿里云API…

渗透测试基础(四) MS08-067 漏洞攻击

1. 漏洞介绍 漏洞描述 Microsoft Windows Server服务RPC请求缓冲区溢出漏洞Windows的Server服务在处理特质RPC请求时存在缓冲区溢出漏洞&#xff0c;远程攻击者可以通过发送恶意的RPC请求触发这个溢出&#xff0c;导致完全入侵用户系统&#xff0c;以SYSTEM权限执行任意指令。…

iptables(3)规则管理

简介 上一篇文章中,我们已经介绍了怎样使用iptables命令查看规则,那么这篇文章我们就来介绍一下,怎样管理规则,即对iptables进行”增、删、改”操作。 注意:在进行iptables实验时,请务必在个人的测试机上进行,不要再有任何业务的机器上进行测试。 在进行测试前,为保障…

海量数据处理利器 Roaring BitMap 原理介绍

作者&#xff1a;来自 vivo 互联网服务器团队- Zheng Rui 本文结合个人理解梳理了BitMap及Roaring BitMap的原理及使用&#xff0c;分别主要介绍了Roaring BitMap的存储方式及三种container类型及Java中Roaring BitMap相关API使用。 一、引言 在进行大数据开发时&#xff0c;…

Raycaster--当物体放在容器中并做了转换,交点坐标不对的问题。

交点坐标问题 问题解决x关键点 总结 问题 子代放在了一个容器里&#xff0c;容器做了旋转、位移。 递归获得了最近的相交子代获取到的交点坐标并不是想要的交点坐标。 经过可视化观察&#xff0c;很像是没转换之前的坐标点。 解决x 在 Three.js 中&#xff0c;当你使用 Rayc…

详细介绍如何解决vcomp140.dll丢失的步骤,分享几种vcomp140.dll修复方法

当这个vcomp140.dll文件丢失时&#xff0c;可能会导致相关程序运行出错甚至无法运行。很多用户可能会遇到vcomp140.dll丢失的问题&#xff0c;但是这并不是不可解决的困难。接下来就和大家分享几种解决vcomp140.dll丢失的方法&#xff0c;给大家详细的关于如何解决vcomp140.dll…

matplotlib 做饼图

饼图可以很好地帮助用户快速了解整体市场数据的占比分配 import matplotlib.pyplot as pltexplode (0,0.1,0,0) labels Frogs,Hogs,Dogs,Logs sizes [15, 30, 45, 10] fig,ax plt.subplots() # colors 设置图形颜色 ;pctdistance&#xff1a;设置百分比标签与圆心的距离&am…

MacBook Air M3的电脑怎么样 新买MacBook Air提示内存不足 苹果电脑内存不够用怎么办

Apple的MacBook Air系列一直是轻薄便携笔记本电脑的代表&#xff0c;最新推出的MacBook Air M3因其出色的性能和优雅的设计而受到广泛关注。然而&#xff0c;许多用户在购买全新的MacBook Air后反应他们遇到了内存不足的提示。 本文将探讨MacBook Air M3的电脑怎么样&#xff0…

【MySQL】事务二

事务二 1.数据库并发的场景2.读-写2.1 3个记录隐藏字段2.2 undo日志2.3 模拟 MVCC2.4 Read View2.5 RR 与 RC的本质区别 3.读-读4.写-写 点赞&#x1f44d;&#x1f44d;收藏&#x1f31f;&#x1f31f;关注&#x1f496;&#x1f496; 你的支持是对我最大的鼓励&#xff0c;我…

示例:应用DependencyPropertyDescriptor监视依赖属性值的改变

一、目的&#xff1a;开发过程中&#xff0c;经常碰到使用别人的控件时有些属性改变没有对应的事件抛出&#xff0c;从而无法做处理。比如TextBlock当修改了IsEnabled属性我们可以用IsEnabledChanged事件去做对应的逻辑处理&#xff0c;那么如果有类似Background属性改变我想找…

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

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

DataWorks Copilot:大模型时代数据开发的新范式

导读 DataWorks 是阿里云一站式智能化数据开发与治理平台&#xff0c;支持搭配MaxCompute/Hologres/AnalyticDB/StarRocks/EMR/CDH 等大数据引擎&#xff0c;为企业构建数据仓库、数据湖以及湖仓一体&#xff08;Lakehouse&#xff09;现代数据架构提供数据平台产品解决方案。…

数据结构_二叉树

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

程控漏电流测试电阻箱的应用

程控漏电流测试电阻箱是用于测量和控制电流的设备&#xff0c;广泛应用于电力系统、电子设备、自动化设备等领域。它的主要功能是通过改变电阻值来控制电流的大小&#xff0c;从而实现对设备的保护和控制。 程控漏电流测试电阻箱在电力系统中有着重要的应用&#xff0c;电力系统…