2.6 IDE(集成开发环境)是什么

IDE(集成开发环境)是什么

IDE 是 Integrated Development Environment 的缩写,中文称为集成开发环境,用来表示辅助程序员开发的应用软件,是它们的一个总称。

通过前面章节的学习我们知道,运行 C 语言(或 Java语言)程序必须有编译器,而运行 Python语言程序必须有解释器。在实际开发中,除了运行程序必须的工具外,我们往往还需要很多其他辅助软件,例如语言编辑器、自动建立工具、除错器等等。这些工具通常被打包在一起,统一发布和安装,例如 PythonWin、MacPython、PyCharm 等,它们统称为集成开发环境(IDE)。

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

需要注意的是,虽然有一些 IDE 支持多种程序语言的开发(如 Eclipse、NetBeans、VS),但通常来说,IDE 主要还是针对某一特定的程序语言而量身打造的(如 VB)。

一般情况下,程序员可选择的 IDE 类别是很多的,比如说,用 Python 语言进行程序开发,既可以选用 Python 自带的 IDLE,也可以选择使用 PyCharm 和 Notepad++ 作为 IDE。并且,为了称呼方便,人们也常常会将集成开发环境称为编译器或编程软件,对此读者没必要较真儿,就把它当做“乡间俗语”吧。

python IDE有哪些,哪款适合初学者?

百度搜索“Python IDE”会发现支持 Python 编程的 IDE 有很多,那么对于零基础的初学者,应该使用哪款 IDE 呢?

我个人推荐初学者使用 Python 自带的 IDLE。因为 IDLE 的使用方法很简单,非常适合初学者入门。本教程中使用的也是 Python 自带的 IDLE。

当然,除了 IDLE,还有很多其他的 IDE 供大家选择,这里列出常用的几个,喜欢探索的读者可自行安装使用。

PyCharm

这是由 JetBrains 公司开发的一款 Python 开发工具,在 Windows、Mac OS 和 Linux 操作系统中都可以使用。

PyCharm 具有语法高亮显示、Project(项目)管理代码跳转、智能提示、自动完成、调试、单元测试以及版本控制等一般开发工具都具有的功能,除此之外,它还支持 Django(Python 的 Web 开发框架)框架下进行 Web 开发。

PyCharm 的主窗口如图 1 所示。

img
图 1 PyCharm主窗口示意图

PyCharm 开发工具可通过其官方网站(http://www.jetbrains.com/pycharm/)下载获取。需要注意的是,该网站提供了 2 个版本,一个是社区版(免费并且提供源代码,适合多数读者),另一个是专业版(免费试用)。

Eclipse+PyDev

Eclipse 是一个开源的、基于 Java的可扩展开发平台,最初主要用于 Java 语言的开发。该平台可通过安装不同的插件,进行不同语言的开发。

PyDev 是一款功能强大的 Eclipse 插件,它可以提供语法高亮、语法分析、语法错误提示,以及大纲视图显示导入的类、库和函数、源代码内部的超链接、运行和调试等功能。

当 Eclipse 在安装 PyDev 插件后,就可以进行 Python 应用开发。其开发界面如图 2 所示。

img
图 2 Eclipse+PyDev 开发界面

除此之外,还有 PythonWin(只针对 Win32 平台)、MacPython IDE(PythonWin 对应的 Mac 版本)、Emacs 和 Vim(功能强大的文本编辑器,可以用来编写 Python 程序)等,都可以作为执行 Python 程序的 IDE。

Visual Studio Code

Visual Studio Code,简称 VS Code,是微软公司开发的一款轻量级 IDE。和 PyCharm 一样,它也支持在 Windows、Linux 和 macOS 平台上运行。

VS Code 支持几乎所有主流开发语言的语法高亮、智能代码补全、自定义热键、括号匹配等功能,支持使用插件进行功能扩展,还针对网页开发和云端应用开发做了优化。

值得一提的是,使用 VS Code 编写 Python 代码,无需向其它编译器那样,通过创建项目来管理源代码文件,在 VS Code 中可以直接创建 Python 源代码文件。VS code 的开发界面如图 3 所示。

VS Code 开发界面
图 3 VS Code 开发界面

Microsoft Visual Studio

Microsoft Visual Studio,简称 VS,也是 Microsoft(微软)公司开发的一款 IDE。它可用于进行 C# 和 ASP.NET 等应用的开发,也可以作为 Python 的开发工具,只需要在安装时,选择安装 PTVS 插件即可。

PTVS 插件是一个开源插件,它支持编辑、浏览、智能感知、混合 Python/C++ 调试、Djange 等,适用于 Windows、Linux 和 Mac OS 客户端的云计算。

当 VS 安装 PTVS 插件之后,就可以进行 Python 应用开发了,其开发界面如图 4 所示。

img
图 4 应用 VS 开发 Python 项目

Python IDLE使用方法详解(包含常用快捷键)

在安装Python后,会自动安装一个 IDLE,它是一个 Python Shell (可以在打开的 IDLE 窗口的标题栏上看到),程序开发人员可以利用 Python Shell 与 Python 交互。

本节将以 Windows7 系统中的 IDLE 为例,详细介绍如何使用 IDLE 开发 Python 程序。

单击系统的开始菜单,然后依次选择“所有程序 -> Python 3.6 -> IDLE (Python 3.6 64-bit)”菜单项,即可打开 IDLE 窗口,如图 1 所示。

img
图 1 IDLE主窗口

前面我们己经应用 IDLE 输出了简单的语句,但在实际开发中,通常不能只包含一行代码,当需要编写多行代码时,可以单独创建一个文件保存这些代码,在全部编写完成后一起执行。具体方法如下:

  1. 在 IDLE 主窗口的菜单栏上,选择“File -> New File”菜单项,将打开一个新窗口,在该窗口中,可以直接编写 Python 代码。

    在输入一行代码后再按下 键,将自动换到下一行,等待继续输入,如图 2 所示。

    img
    图 2 新创建的 Python 文件窗口

  2. 在代码编辑区中,编写多行代码。例如,输出由宋词《江城子》改编而成的《程序员之歌》,代码如下:

    print(" "*5+"程序员之歌")
    print(" "*15+"——《江城子》改编\n")
    print("十年生死两茫茫,写程序,到天亮,")
    print("千行代码,Bug何处藏。")
    print("纵使上线又怎样,朝令改,夕断肠。")
    print("领导每天新想法,天天改,日日忙。")
    print("相顾无言,惟有泪千行")print("每晚灯火阑珊处,程序员,加班狂。")
    

    编写代码后的 Python 文件窗口如图 3 所示。

    img
    图 3 编写代码后的 Python 文件窗口

  3. 按下快捷键 <Ctrl+S> 保存文件,这里将文件名称设置为 demo.py。其中,.py 是 Python 文件的扩展名。在菜单栏中选择“Run -> Run Module”菜单项(也可以直接按下快捷键 ),运行程序,如图 4 所示。

    img
    图 4 运行程序

  4. 运行程序后,将打开 Python Shell 窗口显示运行结果,如图 5 所示。

    img
    图 5 运行结果

Python IDLE常用快捷键

在程序开发过程中,合理使用快捷键不但可以减少代码的错误率,而且可以提高开发效率。在 IDLE 中,可通过选择“Options -> Configure IDLE”菜单项,在打开的“Settings”对话框的‘Keys”选项卡中查看,但是该界面是英文的,不便于查看。为方便读者学习,表 6 列出了 IDLE 中一些常用的快捷键。

快提键说 明适用范围
F1打开 Python 帮助文档Python文件窗口和Shell 均可用
Alt+P浏览历史命令(上一条)仅 Python Shell 窗口可用
Alt+N浏览历史命令(下一条)仅 Python Shell 窗口可用
Alt+/自动补全前面曾经出现过的单词,如果之前有多个单词具有相同前缀,可以连续按下该快捷键,在多个单词中间循环选择Python 文件窗口和 Shell 窗口均可用
Alt+3注释代码块仅 Python 文件窗口可用
Alt+4取消代码块注释仅 Python 文件窗口可用
Alt+g转到某一行仅 Python 文件窗口可用
Ctrl+Z撤销一步操作Python 文件窗口和 Shell 窗口均可用
Ctrl+Shift+Z恢复上—次的撤销操作Python 文件窗口和 Shell 窗口均可用
Ctrl+S保存文件Python 文件窗口和 Shell 窗口均可用
Ctrl+]缩进代码块仅 Python 文件窗口可用
Ctrl+[取消代码块缩进仅 Python 文件窗口可用
Ctrl+F6重新启动 Python Shell仅 Python Shell 窗口可用
            | 仅 Python 文件窗口可用             |

| Ctrl+F6 | 重新启动 Python Shell | 仅 Python Shell 窗口可用 |

由于 IDLE 简单、方便,很适合联系,因此本教程如果没有特殊说明,均使用 IDLE 作为开发工具。

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

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

相关文章

各大pdf转word软件都用的哪家的ocr引擎?

国内一般的PDF软件一般都调用某国际PDF原厂的OCR接口&#xff0c;但这家公司是主要做PDF&#xff0c;在OCR方面并不专注&#xff0c;一些不是很复杂的场景还能应付得过来&#xff0c;复杂一点的效果就强差人意了&#xff0c;推荐用金鸣表格文字识别系统&#xff0c;它主要有以下…

基于CNN-RNN的动态手势识别系统实现与解析

一、环境配置 为了成功实现基于CNN-RNN的动态手势识别系统&#xff0c;你需要确保你的开发环境已经安装了以下必要的库和工具&#xff1a; Python&#xff1a;推荐使用Python 3.x版本&#xff0c;作为主要的编程语言。TensorFlow&#xff1a;深度学习框架&#xff0c;用于构建…

ElementPlus Upload组件使用compressorjs压缩图片上传

需求 Compressor.js 是一个用于在客户端&#xff08;即在浏览器中&#xff09;对图片进行压缩的 JavaScript 库。使用它有以下几个优点和意义&#xff1a; 减少文件大小: 图片通常是网页中占用大量带宽的资源之一。通过使用 Compressor.js 对图片进行压缩&#xff0c;可以显著…

力扣面试150 直线上最多的点数 数学 直线斜率 欧几里得求最大公约数

Problem: 149. 直线上最多的点数 思路 &#x1f468;‍&#x1f3eb; 参考题解 &#x1f496; 枚举直线 枚举统计 时间复杂度: O ( n 3 ) O(n^3) O(n3) 空间复杂度: O ( 1 ) O(1) O(1) class Solution {public int maxPoints(int[][] points){int n points.length;int…

数据库之备份与恢复

MySQL完全备份与恢复 数据备份的重要性 在生产环境中&#xff0c;数据的安全性至关重要任何数据的丢失都可能产生严重的后果造成数据丢失的原因 程序错误 人为操作错误 运算错误 磁盘故障 灾难(如火灾、地震)和盗窃 数据库备份的分类 物理角度 物理备份:对数据库操作系统的…

【网络爬虫】(1) 网络请求,urllib库介绍

各位同学好&#xff0c;今天开始和各位分享一下python网络爬虫技巧&#xff0c;从基本的函数开始&#xff0c;到项目实战。那我们开始吧。 1. 基本概念 这里简单介绍一下后续学习中需要掌握的概念。 &#xff08;1&#xff09;http 和 https 协议。http是超文本传输&#xf…

Visual Studio项目编译和运行依赖第三方库的项目

1.创建项目&#xff0c;这里创建的项目是依赖于.sln的项目&#xff0c;非CMake项目 2.添加第三方库依赖的头文件和库文件路劲 3.添加第三方依赖库文件 4.项目配置有2个&#xff0c;一个是Debug&#xff0c;一个是Release&#xff0c;如果你只配置了Debug&#xff0c;编译和运行…

厨余垃圾处理设备工业监控PLC连接APP小程序智能软硬件开发之功能原理篇

接着上一篇《厨余垃圾处理设备工业监控PLC连接APP小程序智能软硬件开发之功能结构篇》继续总结一下厨余垃圾处理设备智能软硬件统的原理。所有的软硬件系统全是自己一人独自开发&#xff0c;看法和角度难免有局限性。希望抛砖引玉&#xff0c;将该智能软硬件系统分享给更多有类…

java的封装

封装概述 java中的封装指的是将一系列有关的事物的共同属性和行为提取出来放到一个类中&#xff0c;隐藏对象的实行和现实细节&#xff0c;仅对外提供公共的访问方式的操作。这样说起来感觉很抽象&#xff0c;也不好理解&#xff0c;这里不妨举一个例子。将配置电脑这个动作看成…

伪装目标检测之注意力CBAM:《Convolutional Block Attention Module》

论文地址&#xff1a;link 代码&#xff1a;link 摘要 我们提出了卷积块注意力模块&#xff08;CBAM&#xff09;&#xff0c;这是一种简单而有效的用于前馈卷积神经网络的注意力模块。给定一个中间特征图&#xff0c;我们的模块依次推断沿着两个独立维度的注意力图&#xff…

Qt实现简易的多线程TCP服务器(支持多个客户端连接)附源码

目录 一.UI界面的设计 二.服务器的启动 三.实现自定义的TcpServer类 1.在widget中声明自定义TcpServer类的成员变量 2.在TcpServer的构造函数中对于我们声明的m_widget进行初始化&#xff0c;m_widget我们用于后续的显示消息等&#xff0c;说白了就是主界面的更新显示等 …

为何ChatGPT日耗电超50万度?

看新闻说&#xff0c;ChatGPT每天的耗电量是50万度&#xff0c;国内每个家庭日均的耗电量不到10度&#xff0c;ChatGPT耗电相当于国内5万个家庭用量。 网上流传&#xff0c;英伟达创始人黄仁勋说&#xff1a;“AI的尽头是光伏和储能”&#xff0c;大佬的眼光就是毒辣&#xff…

使用LLaVA模型实现以文搜图和以图搜图

本文将会详细介绍如何使用多模态模型——LLaVA模型来实现以文搜图和以图搜图的功能。本文仅为示例Demo&#xff0c;并不能代表实际的以文搜图和以图搜图的技术实现方案。 1、实现原理 使用多模态模型获取图片的标题和详细描述以文搜图功能&#xff1a;使用ES实现查询匹配&…

深入了解 Linux 中的 MTD 设备:/dev/mtd* 与 /dev/mtdblock*

目录 前言一、什么是MTD子系统&#xff1f;二、 /dev/mtd* 设备文件用途注意事项 三、/dev/mtdblock* 设备文件用途注意事项 三、这两种设备文件的关系四、关norflash的一些小知识 前言 在嵌入式Linux系统的世界里&#xff0c;非易失性存储技术扮演着至关重要的角色。MTD&#…

面试知识汇总——垃圾回收器(分代收集算法)

分代收集算法 根据对象的存活周期&#xff0c;把内存分成多个区域&#xff0c;不同区域使用不同的回收算法回收对象。 对象在创建的时候&#xff0c;会先存放到伊甸园。当伊甸园满了之后&#xff0c;就会触发垃圾回收。 这个回收的过程是&#xff1a;把伊甸园中的对象拷贝到F…

初识redis(一)

前言 引用的是这本书的原话 Redis[1]是一种基于键值对&#xff08;key-value&#xff09;的NoSQL数据库&#xff0c;与很多键值对数据库不同的是&#xff0c;Redis中的值可以是由string&#xff08;字符串&#xff09;、hash&#xff08;哈希&#xff09;、list&#xff08;列…

Android15功能和 API 概览

Android 15 面向开发者引入了一些出色的新功能和 API。以下部分总结了这些功能&#xff0c;以帮助您开始使用相关 API。 如需查看新增、修改和移除的 API 的详细列表&#xff0c;请参阅 API 差异报告。如需详细了解新的 API&#xff0c;请访问 Android API 参考文档&#xff0…

Selenium 自动化 —— 定位页面元素

更多内容请关注我的 Selenium 自动化 专栏&#xff1a; 入门和 Hello World 实例使用WebDriverManager自动下载驱动Selenium IDE录制、回放、导出Java源码浏览器窗口操作切换浏览器窗口 使用 Selenium 做自动化&#xff0c;我们不仅仅是打开一个网页&#xff0c;这只是万里长…

Stable Diffusion 进阶教程 - 二次开发(制作您的文生图应用)

目录 1. 引言 2. 基于Rest API 开发 2.1 前置条件 2.2 代码实现 2.3 效果演示 2.4 常见错误 3. 总结 1. 引言 Stable Diffusion作为一种强大的文本到图像生成模型&#xff0c;已经在艺术、设计和创意领域引起了广泛的关注和应用。然而&#xff0c;对于许多开发者来说&#xff…

时序预测 | Matlab实现SSA-BP麻雀算法优化BP神经网络时间序列预测

时序预测 | Matlab实现SSA-BP麻雀算法优化BP神经网络时间序列预测 目录 时序预测 | Matlab实现SSA-BP麻雀算法优化BP神经网络时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.Matlab实现SSA-BP麻雀算法优化BP神经网络时间序列预测&#xff08;完整源码和数据…