当前位置: 首页 > news >正文

003_PyCharm的安装与使用

如果你正在学习PyQt,本系列教程完全可以带你入门直至入土。

所谓从零开始,就是从软件安装、环境配置开始。

不跳过一个细节,不漏掉一行代码,不省略一个例图。

 IDE

开始学习一个编程语言,我们肯定是首先得安装好它,比如前面我们讲解了Anaconda、Python的安装,以及它多个版本的差异以及管理,但是我们的电脑里面有了Python还不够,我们大概率是不会在最原始的界面里面去编写和调试Python代码,除非你天赋异禀或者说有特殊的爱好比如喜欢极简和原始,那就另当别论。

大部分的初学者应该是在集成开发环境IDE(Integrated Development Environment)里面编写和调试Python代码,因为IDE会提供大量的帮助工具,使用起来起到事半功倍的效果。

Integrated Development Environment(集成开发环境),可以用来辅助开发应用程序的软件。

这是比较官方的解释,实际上IDE工具就是用来编写程序的工具罢了。俗话说:欲先攻其事,必先利其器,你想写出优质的代码,必须结合现代化的开发工具,这样才能起到事倍功半的效果。

举个简单的例子:

种地可以用牛或者人去耕地,那这样效率无疑是非常低下的,而且深浅不一。如果采用机械化的设备进行操作,无论效率还是质量的提升都是巨大的!

实际开发中,除了编译器是必须的工具,我们往往还需要很多其他辅助软件,例如:

  • 编辑器:用来编写代码,并且给代码着色,以方便阅读;
  • 代码提示器:输入部分代码,即可提示全部代码,加速代码的编写过程;
  • 调试器:观察程序的每一个运行步骤,发现程序的逻辑错误;
  • 项目管理工具:对程序涉及到的所有资源进行管理,包括源文件、图片、视频、第三方库等;
  • 漂亮的界面:各种按钮、面板、菜单、窗口等控件整齐排布,操作更方便。


这些工具通常被打包在一起,统一发布和安装,例如 Visual Studio、Dev C++、Xcode、Visual C++、C-Free、Code::Blocks 等,它们统称为集成开发环境(Integrated Development Environment)。

集成开发环境就是一系列开发工具的组合套装。这就好比台式机,一个台式机的核心部件是主机,有了主机就能独立工作了,但是我们在购买台式机时,往往还要附带上显示器、键盘、鼠标、U盘、摄像头等外围设备,因为只有主机太不方便了,必须有外设才能玩的爽。

集成开发环境也是这个道理,只有编译器不方便,所以还要增加其他的辅助工具。在实际开发中,我一般也是使用集成开发环境,而不是单独地使用编译器。

这里需要注意:不同的编程语言有着专属的开发工具,这些需要大家在学习的同时,网上找找相关的资源。

PyCharm

Python有许多知名的IDE,主要包括以下几种常见IDE:

  1. PyCharm:由JetBrains公司开发的专业Python IDE,提供了强大的功能,包括代码智能提示、调试器、测试工具等。
  2. Jupyter Notebook:非常流行的交互式计算环境,允许用户以笔记本形式编写和执行代码,支持多种语言,包括Python。
  3. Visual Studio Code:由Microsoft开发的轻量级代码编辑器,支持多种编程语言,通过插件系统可扩展为强大的Python IDE
  4. Spyder:集成了许多科学计算和数据分析工具的Python IDE,特别适用于数据科学和机器学习的开发。
  5. IDLE:Python自带的官方IDE,简单轻量,适合初学者学习和快速编写Python代码,原始且粗糙。
  6. Atom:GitHub开发的可扩展文本编辑器,支持绝大部分编程语言,通过插件可以支持Python开发,并提供了丰富的社区支持。
  7. Thonny:面向初学者的Python IDE,具有简洁的界面和直观的操作,适用于学习和教育

最受 Python 开发者欢迎的 IDE--PyCharm。

我强烈推荐Python新手使用PyCharm。

新手刚开始只需要掌握最核心的功能,学习编程的早期,不要开始就被PyCharm大而全的功能吓退,你只需要掌握如何创建项目,如何运行代码,如何打开终端,就够了,来回就那么几个按钮要点!完全可以忽略用不上的功能,先专注于代码学习。

PyCharm能快速帮新手找到代码问题,PyCharm的错误检查和智能提示相比其它编辑器,排查更全面、提示更清晰,比如新手分不清中英文标点、把关键字拼写错误、写出冗余的表达式,等等,PyCharm会马上进行提示,马上发现问题总比自己埋头仨小时找问题要好。

PyCharm能教会新手更规范的编码风格,PyCharm会基于PEP 8进行代码规范提示,这是大多数编辑器不自带的功能,PEP 8是Python官方编码风格指南,目的是提高Python代码的可读性,不遵守这些规范代码并不会报错!所以很多新手完全不了解官方规范,使用PyCharm可以提前了解代码规范养成良好习惯,而不是后期再花时间纠正。

进阶后,你会逐渐发现PyCharm自带的功能真的很香,很多大公司的程序员都爱JetBrains系列(出品PyCharm的公司)的编辑器,因为功能太强大了,尤其适合大项目,比如智能重构、引用位置快捷来回跳转等,不要太爽,而且PyCharm专门用于Python相关项目,有非常多定制化功能
给VS Code安装一大堆Python相关插件,都抵不过不额外安装任何插件的PyCharm。
PyCharm简介:

Jetbrains家族和Pycharm版本划分:

pycharm是Jetbrains家族中的一个明星产品,Jetbrains开发了许多好用的编辑器,包括Java编辑器(IntelliJ IDEA)、JavaScript编辑器(WebStorm)、PHP编辑器(PHPStorm)、Ruby编辑器(RubyMine)、C和C++编辑器(CLion)、.Net编辑器(Rider)、iOS/macOS编辑器(AppCode)等。pycharm现在在官网[https://www.jetbrains.com/pycharm/download/#section=windows]是分为两个版本,第一个版本是Professional(专业版本),这个版本功能更加强大,主要是为Python和web开发者而准备,是需要付费的。第二个版本是社区版,一个专业版的阉割版,比较轻量级,主要是为Python和数据专家而准备的。一般我们做开发,下载专业版本比较合适。

PyCharm是我用过的python编辑器中,比较顺手的一个。而且可以跨平台,在macos和windows下面都可以用,这点比较好。是python现在最好用的编辑器,没有之一。

PyCharm安装

1.进入PyCharm官网,点击简体中文,切换至中文页面,然后点击下载即可,如下图所示:

2.PyCharm有两个版本,1处为专业版,收费;2处为社区版,免费,在这里我们选择社区版。

3.找到下载好的PyCharm安装包,双击点开,进行安装。

4.双击已下载的PyCharm安装包,出现如下图所示的界面,点击“next”。

5.选择安装目录,Pycharm需要的内存较多,建议将其安装在D盘或者E盘,不建议放在系统盘C盘,点击下一步。

6.创建桌面快捷方式、更新路径变量、更新上下文菜单、创建关联都勾选,然后点击下一步。

7.默认安装即可,直接点击安装。

8.耐心的等待两分钟左右。

9.选择“否,我会在之后重新启动”,点击安装,Pycharm安装完成。

10.双击桌面图标。

11.第1处打钩,然后点击2处继续按钮。

12.点击不发送。

13.点击Customize,在右侧对话框根据个人喜好更改一下界面样式,字体大小等。

14.点击Projects,点击中间打开,以便下面选择打开目录。

15.点击第二图标,根据目录导航,选择自己提前建好的文件夹,此处我在桌面建立了一个名为MyPyqt的文件夹,选中即可。

16.打钩,信任该工程。

17.点击File--Setting,进行软件汉化。

18.选择Chinese (Simplified) Language Pack安转中文包。安装完成点击OK.

19.点击Restart。

20.点击Exit

21.此时软件已经为中文。

22.切换为Anaconda创建的虚拟环境,点击文件-设置。

23.点击对话框中,Python 解释器--全部显示。

24.点击+号。添加虚拟环境。

25.选择Conda环境--Conda可执行文件找到conda.bat。

26.点击加载环境,即可看到在上一节创建的虚拟环境MyPyqt。

27.选中该环境,点击下方确定即可。

28.可以看到,在上一节安装的Python3.9版本。

29.输入print("hello word")测试,可以看到低端能够输出hello word。

30.代码测试,点击按钮“更改颜色”,则随机产生一个颜色。

代码:

from PyQt6.QtWidgets import QApplication, QWidget, QPushButton
from PyQt6.QtGui import QColor
from PyQt6.QtCore import Qt
import sys
import randomclass ColorChangerApp(QWidget):def __init__(self):super().__init__()# 初始化用户界面self.init_ui()def init_ui(self):# 创建按钮self.button = QPushButton('更改颜色', self)self.button.clicked.connect(self.change_color)# 设置窗口布局self.setGeometry(300, 300, 300, 200)self.setWindowTitle('测试例子')def change_color(self):# 生成随机颜色random_color = QColor(random.randint(0, 255), random.randint(0, 255), random.randint(0, 255))# 设置背景颜色self.setStyleSheet(f"background-color: {random_color.name()};")if __name__ == '__main__':app = QApplication(sys.argv)window = ColorChangerApp()window.show()sys.exit(app.exec())

PyCharm快速上手指南

1、更换 Python 解释器

如果你系统里有多个版本的python,你想更换解释器,请使用下面的方法:

在File->Setting->Projec: xxx 下找到 Project Interpreter。然后修改为你需要的 Python 解释器。注意这个地方一定要注意的是:在选择 Python 解释器的时候,一定要选择到 python.exe 这个文件,而不是 python 的安装文件夹。

2、新建一个项目

我们新建一个项目,如django。

3、调整编辑器字体及其大小及控制台的字体及其大小

File--settings里

4、设置文件编码

File--settings里

5. 修改文件背景颜色

File--settings里

6、让一个 tab 键代替 4 个空格键

7、运行Python代码

在pycharm里面,我们不用借助windows下的cmd来运行程序了,pycharm直接提供了运行功能。在编写好程序之后我们有三种方法可以运行:
工具栏中的run,如果没有显示Toolbar,可以在view里面找到Toolbar并勾选。
在运行结果旁边也提供了run按钮。
直接单击鼠标右键然后单击run

 

8、设置模板

设置一个模板,里面可以放一些设置或者广告,下次新建的文件或模板时不用每次都输入

9、断点与调试

断点功能可以帮助我们调试代码。

设置断点:在代码前面与行号后面之间的空白处,鼠标单击,就可以设置断点。如下:

调试断点:

点击那个绿色的甲虫图标,进行断点调试。

启动之后,自动跳转到第一个断点。下方debugger里会显示该断点的信息。

点击Step Over或者按F8,我们继续往下运行,到下一个断点,右边则显示当前行的信息!


如果您感觉这片文章对你有一点点收货,麻烦您动动发财的小手点个关注再走。


相关文章:

003_PyCharm的安装与使用

如果你正在学习PyQt,本系列教程完全可以带你入门直至入土。 所谓从零开始,就是从软件安装、环境配置开始。 不跳过一个细节,不漏掉一行代码,不省略一个例图。 IDE 开始学习一个编程语言,我们肯定是首先得安装好它&…...

事件传递机制

IOS面试题(UIView) ----- 事件传递机制 - 简书 面试题: 在以下场景中,父视图 ParentView 上有三个子视图 ViewA、ViewB 和 ViewC。ViewA 完全位于 ParentView 的范围内,ViewB 有一半在 ParentView 的范围内,而 ViewC 完全位于 Par…...

DE2-115串口通信

目录 一、 内容概要二、 Hello Nios-II2.1 Nios-II编程2.1.1 硬件Ⅰ 搭建环境Ⅱ 编写代码 2.1.2 软件2.1.3 烧录Ⅰ硬件Ⅱ 软件 2.2 verilog编程 三、 心得体会 一、 内容概要 分别用Verilog和Nios软件编程, 实现DE2-115开发板串口输出“Hello Nios-II”字符到笔记本电脑串口助…...

Danfoss丹佛斯S90泵比例放大器

S90R042、S90R055、S90R075、S90R100、S90R130、S90R180、S90R250电气排量控制变量泵比例阀放大器,电气排量控制为高增益控制方式:通过微小变化的输入电流控制信号即可推动伺服阀主阀芯至全开口位置,进而将最大流量的控制油引入到伺服油缸。伺…...

对话YashanDB CTO陈志标:如何推动国产数据库长远发展

深圳计算科学研究院(以下简称“深算院”)是深圳市人民政府2018年11月批准建设的“十大基础研究机构”之一,由深圳市科技创新委员会主管、深圳大学举办、深圳市龙华区人民政府共建的二类事业法人单位。 崖山数据库系统YashanDB是深算院完全自主…...

ip显示地址和实际地址不一样:原因解析与应对策略

在数字化时代,IP地址作为我们在互联网上的身份标识,其重要性不言而喻。然而,有时我们会遇到ip显示地址和实际地址不一样的情况,这不仅可能影响到我们的网络体验,还可能引发一系列安全和隐私问题。那么,造成…...

visual studio snippet常用注释片段

Visual Studio 2022 添加自定义代码片段_vs2022 代码片段-CSDN博客 dclass.snippet: <?xml version"1.0" encoding"utf-8"?> <CodeSnippets xmlns"http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> …...

ubuntu下不生成core dumped

1、先用ulimit -c&#xff0c;如果看到0&#xff0c;说明没有开core dump。 所以我们输入ulimit -c unlimited&#xff0c;打开core dump。 再次用ulimit -c&#xff0c;看到unlimited了&#xff0c;说明core dump打开了。 注意这句ulimit -c unlimited只对当前会话有效。要永…...

python开发的学习路线

I. 基础知识学习 A. Python基础语法 变量和数据类型 学习如何定义变量&#xff0c;理解并使用不同的数据类型&#xff08;整数、浮点数、字符串、布尔值等&#xff09;。 掌握数字类型的转换和操作。 熟悉字符串的基本操作&#xff0c;如拼接、切片、替换和查找。 …...

vite+vue3 部署后,总是需要清除缓存的问题

1.每次部署后&#xff0c;需要清除缓存&#xff0c;才能看到最新代码&#xff0c;给打包文件加上hash就可以解决此问题。 vite.config.ts文件中加以下代码 build: {rollupOptions: {output: {entryFileNames: assets/[name].[hash].js,chunkFileNames: assets/[name].[hash].j…...

多态:解锁面向对象编程的无限可能

1. 概述 多态&#xff08;Polymorphism&#xff09;是面向对象编程的三大核心特性之一&#xff08;另两个是封装和继承&#xff09;。多态意味着不同的对象对同一消息做出不同的响应。简单来说&#xff0c;多态允许你使用父类引用指向子类对象&#xff0c;并且当调用方法时&am…...

学习MySQL(四):记录的增删改查

记录的增、删、改 增 -- 插入一条数据 INSERT INTO 表名&#xff08;字段 1&#xff0c;字段2&#xff0c;字段3&#xff09; VALUES&#xff08;值 1&#xff0c;值2&#xff0c;值3&#xff09; INSERT INTO 表名 VALUES&#xff08;值 1&#xff0c;值2&#xff0c;值3&am…...

如何使用Python进行网页爬取

Python爬虫案例可以有很多种&#xff0c;但我会为你提供一个简单的案例&#xff0c;该案例使用Python的requests库来爬取一个网页的内容&#xff0c;并使用BeautifulSoup库来解析HTML并提取特定的信息。 假设我们要从某个新闻网站&#xff08;例如&#xff1a;示例网站&#x…...

Spring的IOC(Inversion of Control)设计模式

Spring的IOC&#xff08;Inversion of Control&#xff09;是一种设计模式&#xff0c;它通过控制反转的思想来降低组件之间的耦合度。在Spring框架中&#xff0c;IOC容器负责管理应用程序中的对象&#xff0c;使得对象之间的依赖关系由容器来维护和注入。 以下是Spring IOC的…...

深度学习知识点总结

深度学习是机器学习领域中的一个重要研究方向&#xff0c;它致力于模拟人脑的学习过程&#xff0c;使机器能够像人一样具有分析学习能力&#xff0c;识别文字、图像和声音等数据。以下是深度学习的一些关键知识点总结&#xff1a; 定义与目标&#xff1a; 深度学习是学习样本数…...

以色列人Andi Gutmans开发的php zend

虽然目前php语言不行了【相关的文章前几年已经有人发过】&#xff0c;但这不是重点&#xff0c;重点是zend引擎的东西具有极大的技术价值&#xff0c;负责zend引擎实现的大佬都现在差不多都是40&#xff0c;50岁左右了&#xff0c;从1997&#xff0c;1998&#xff0c;2000到202…...

Python筑基之旅-溯源及发展

目录 一、Python的起源 二、Python的版本更替及变化 三、Python的优缺点 四、Python的发展方向 五、Python之禅 六、推荐专栏/主页&#xff1a; 1、Python函数之旅&#xff1a;Functions 2、Python算法之旅&#xff1a;Algorithms 3、个人主页&#xff1a;https://mye…...

网页打开:为什么国内用新标签页,国外用当前页?

想写这个话题很久了&#xff0c;因为用百度和Google搜索时&#xff0c;打开搜索结果链接时的交互差异&#xff0c;几乎每天都要提醍我一下。 网页打开——这个交互&#xff0c;在设计里&#xff0c;算是极微小&#xff0c;但影响极广泛的操作设计。甚至&#xff0c;因此形成了…...

用户运营4大核心(C端版)

1、用户运营是什么 产品好比歌手&#xff0c;运营好比经纪公司&#xff0c;运营就是让一个有潜质的产品&#xff0c;从“草根”发展成“明星”&#xff01;C端用户的产品忠诚度不高&#xff0c;用户运营更要维护好“粉丝”关系&#xff0c;从“单向的吸引”发展成“双向的进步…...

SBM模型、超效率SBM模型代码及案例数据(补充操作视频)

01、数据简介 SBM&#xff08;Slack-Based Measure&#xff09;模型是一种数据包络分析&#xff08;Data Envelopment Analysis, DEA&#xff09;的方法&#xff0c;用于评估决策单元&#xff08;Decision Making Units, DMUs&#xff09;的效率。而超效率SBM模型是对SBM模型的…...

【入坑系列】TiDB 强制索引在不同库下不生效问题

文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

大型活动交通拥堵治理的视觉算法应用

大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动&#xff08;如演唱会、马拉松赛事、高考中考等&#xff09;期间&#xff0c;城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例&#xff0c;暖城商圈曾因观众集中离场导致周边…...

可靠性+灵活性:电力载波技术在楼宇自控中的核心价值

可靠性灵活性&#xff1a;电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中&#xff0c;电力载波技术&#xff08;PLC&#xff09;凭借其独特的优势&#xff0c;正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据&#xff0c;无需额外布…...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

(转)什么是DockerCompose?它有什么作用?

一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用&#xff0c;而无需手动一个个创建和运行容器。 Compose文件是一个文本文件&#xff0c;通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

Map相关知识

数据结构 二叉树 二叉树&#xff0c;顾名思义&#xff0c;每个节点最多有两个“叉”&#xff0c;也就是两个子节点&#xff0c;分别是左子 节点和右子节点。不过&#xff0c;二叉树并不要求每个节点都有两个子节点&#xff0c;有的节点只 有左子节点&#xff0c;有的节点只有…...

Redis:现代应用开发的高效内存数据存储利器

一、Redis的起源与发展 Redis最初由意大利程序员Salvatore Sanfilippo在2009年开发&#xff0c;其初衷是为了满足他自己的一个项目需求&#xff0c;即需要一个高性能的键值存储系统来解决传统数据库在高并发场景下的性能瓶颈。随着项目的开源&#xff0c;Redis凭借其简单易用、…...

day36-多路IO复用

一、基本概念 &#xff08;服务器多客户端模型&#xff09; 定义&#xff1a;单线程或单进程同时监测若干个文件描述符是否可以执行IO操作的能力 作用&#xff1a;应用程序通常需要处理来自多条事件流中的事件&#xff0c;比如我现在用的电脑&#xff0c;需要同时处理键盘鼠标…...

android RelativeLayout布局

<?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:gravity&…...

安卓基础(Java 和 Gradle 版本)

1. 设置项目的 JDK 版本 方法1&#xff1a;通过 Project Structure File → Project Structure... (或按 CtrlAltShiftS) 左侧选择 SDK Location 在 Gradle Settings 部分&#xff0c;设置 Gradle JDK 方法2&#xff1a;通过 Settings File → Settings... (或 CtrlAltS)…...