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

Python - 初识Python;Python解释器下载安装;Python IDE(一)

一、初识Python

Python 是一种高级编程语言,Python是一种面向对象的解释型计算机程序设计语言,Python由荷兰国家数学与计算机科学研究中心的吉多·范罗苏姆()Guido van Rossum吉多·范罗苏姆()于1989 年底发明,并于 1991 年首次发布,作为一门叫做ABC语言的替代品。 Python提供了高效的高级数据结构,还能简单有效地面向对象编程。第一个公开发行版版发布于 1991 年。它常被昵称为胶水语言,能够把其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。

1、Python语言特点

  1. 简单易学:语法简洁明了,接近自然语言,易于理解和学习。
  2. 跨平台:可以在多种操作系统上运行,如 Windows、Linux 和 macOS。
  3. 解释型语言:代码在运行时逐行解释执行,无需编译。
  4. 动态类型:变量在使用前不需要声明类型,类型在运行时确定。
  5. 面向对象:支持面向对象的编程范式,可以定义类和对象。
  6. 丰富的标准库:提供了大量的内置模块和函数,涵盖了文件操作、网络编程、数据库访问等多个领域。
  7. 第三方库丰富:通过 PyPI(Python Package Index)可以轻松安装和管理第三方库,满足各种开发需求。
  8. 社区活跃:拥有庞大的开发者社区,可以快速获得帮助和支持。
  9. 应用场景广泛:适用于 Web 开发、数据科学、机器学习、自动化脚本、网络爬虫等多个领域。

2、发展历程

(1)早期发展

1989年:Guido van Rossum 开始编写 Python 语言的解释器。
1991年:Python 0.9.0 版本发布,包含了一些基本的数据类型和函数。
1994年:Python 1.0 版本发布,引入了 lambda、map、filter 等函数式编程特性。

(2)成熟期

2000年:Python 2.0 版本发布,引入了垃圾回收机制和 Unicode 支持。
2008年:Python 3.0 版本发布,对语言进行了重大改进,但与 Python 2.x 不完全兼容,导致了一段时间内的版本分裂。

(3)近期发展

2014年:Python 3.4 版本发布,引入了 asyncio 模块,支持异步编程。
2017年:Python 3.6 版本发布,引入了 f-string 格式化字符串和类型注解。
2020年:Python 3.9 版本发布,进一步优化了性能和功能。
2021年:Python 3.10 版本发布,引入了模式匹配等新特性。

3、Python优缺点

(1)优点

简单易学:语法简洁明了,接近自然语言,易于理解和学习。

免费、开源: Python 开源,开发者可以自由的下载,阅读,甚至是修改python源码

面向对象:支持面向对象的编程范式,可以定义类和对象。

跨平台:可以在多种操作系统上运行,如 Windows、Linux 和 macOS。

解释型语言:代码在运行时逐行解释执行,无需编译,便于调试。

动态类型:变量在使用前不需要声明类型,类型在运行时确定,灵活性高。

丰富的标准库:提供了大量的内置模块和函数,涵盖了文件操作、网络编程、数据库访问等多个领域。

第三方库丰富:通过 PyPI(Python Package Index)可以轻松安装和管理第三方库,满足各种开发需求。

社区活跃:拥有庞大的开发者社区,可以快速获得帮助和支持。

应用场景广泛适用于 Web 开发、数据科学、机器学习、自动化脚本、网络爬虫等多个领域

(2)缺点

运行速度较慢:作为解释型语言,Python 的运行速度通常比编译型语言(如 C++ 和 Java)慢

移动应用开发不足:Python 在移动应用开发领域的支持相对较弱。

多线程限制:由于全局解释器锁(GIL)的存在,Python 在多线程并发处理方面表现不佳。

内存消耗较大:Python 对内存的管理不够高效,可能会导致较大的内存占用。

版本兼容性问题:Python 2.x 和 3.x 之间的不兼容性曾给开发者带来一定的困扰

4、应用领域

适用于 Web 开发、数据科学、机器学习、自动化脚本、网络爬虫等多个领域

二、Python下载安装

Python官网:https://www.python.org/

1、下载

注:Python3.0版本不支持Windows7及更早的系统!

(1)下载API文档

(2)点击“Download these documents”

(3)选择语言以及版本号,以及下载格式PDF还是纯文本以及HTML格式

2、安装

注:默认安装路径在C盘:C:\Users\xx\AppData\Local\Programs\Python\Python313

3、运行

验证python安装是否成功的时候,我们也可以直接在运行中输入“python”进入交互式环境

在python交互式环境下是以“>>>”开头的提示符,在提示符后面输入代码,回车执行

4、退出

输入"exit()"或者"quit()"再回车退出

5、编写运行.py文件

创建一个以 .py 结尾的文件,在文件中写入 print("hello world") 执行 python3 hello.py 可以看到hello world 输出。

打开文本编辑器

(1)Python自带的简易IDE

(2)Notepad++

(3)Sublime Text

输入以下代码: print("hello world") 保存好文件之后,在当前文件所在目录打开cmd窗口,使用命令python hello.py 执行 py 文件

python hello.py

三、Python IDE(主要讲PyCharm

IDE 是开发者创建程序时使用的软件包。它通过简单的用户界面集成多个高度关联的组件,从而最大化程序员的生产效率。本质上,IDE 是一种改进代码创建、测试和 debug 流程的工具,它使这些工作更加简单。

写 Python 代码最好的方式莫过于使用集成开发环境(IDE)了。它们不仅能使你的工作更加简单、更具逻辑性,还能够提升编程体验和效率。

每个人都知道这一点。而问题在于,如何从众多选项中选择最好的 Python 开发环境。初级开发者往往面临这个问题。

(一)Python IDE对比

如下概述最受程序员欢迎的 Python IDE

Python IDE参考:超全面! 15 种 Python IDE 工具使用对比

1、PyCharm

下载地址:https://www.jetbrains.com/pycharm/download/

图片

PyCharm 由著名软件开发公司 JetBrains 开发。在涉及人工智能和机器学习时,它被认为是最好的 Python IDE。最重要的是,Pycharm 合并了多个库(如 Matplotlib 和 NumPy),帮助开发者探索更多可用选项。

兼容性:Windows、MacOS、Linux

主要插件和功能:

  • 内置开发者工具

  • 远程开发能力

  • 实时编辑模式

  • IPython Notebook

优点:

  • PyCharm 支持 web 开发框架,如 Pyramid、Flask 和 Django。

  • 提供智能代码功能,可以执行更精确、快速的 bug 修复。

  • 在 Docker 和 Vagrant 连接和 ssh 终端的帮助下,允许在远程主机上进行程序开发。

缺点:

  • 界面庞杂

  • 其优点的成本高昂

2、Visual Studio Code

下载地址:https://code.visualstudio.com/Download

图片

Visual Studio Code 有时会与 Visual Studio IDE 混淆,后者并非 Python 使用者常用的工具。VS Code 是完整的代码编辑器,具备很多优秀功能,许多程序员称其为最好的 IDE 编辑器。

兼容性:Windows、Linux、Mac OS

主要插件和功能:

  • 内置 git

  • 自定义工具扩展插件

  • 断点调试

  • 交互式控制台

优点:

  • 其 Electron 框架允许开发者在几乎所有平台上使用 VS Code。

  • 在编辑器中直接 debug。

  • 支持多个键盘快捷键,以加速编程。

缺点:

  • debug 功能有限。

  • 没有内置模板。

3、Sublime Text

下载地址:https://www.sublimetext.com/

图片

Sublime Text 被认为是最好的 Python 编辑器,因为它简单、通用、方便。它使用广泛,可用于不同的平台。

兼容性:Windows、Linux、Mac OS

主要插件和功能:

  • 简易导航,实现高性能

  • 支持不同包,以自定义编辑器

  • 只需一个关键词,即可复制常见代码段

  • 即时项目切换和分割编辑

优点:

  • 可处理多种标记语言。

  • 允许用户选择想要进行的项目。

  • 具备能够提供类和函数宽索引的重要工具。

  • 提供强大的 API 和组织化的生态系统,以实现高性能。

缺点:

  • 对于新手来说,过于高级。

  • 其 git 插件不是特别强大。

4、VI/Vim

下载地址:https://www.vim.org/

图片

Vim 位列最好的 Python IDE 工具前 5 名。它是一个 modal editor,可以从「文件编辑」中分割文件。相比最初的 Vi,Vim 有了巨大进步,功能更加强大。

兼容性:Windows、Linux、Mac OS、IOS、Android、UNIX、AmigaOS、MorphOS

主要插件和功能:

  • 其脚本允许用 Python 执行几乎所有编程任务。

  • Ctags,帮助实现更好的标记导航。

  • 内置基础词汇补全。

优点:

  • 具备键盘界面,可以提升效率。

  • 支持多个插件(如版本控制工具、文件管理工具)。

  • 通过 .vimrc 文件实现不同扩展功能(如突出显示搜索结果)。

缺点:

  • 界面笨拙,一些开发者认为其不方便使用。

  • 其 modal editor 需要用户花费一定时间学习。

5、GNU Emacs

下载地址:https://www.gnu.org/software/emacs/emacs.html

图片

GNU Emacs 也是最好 Python 编辑器的有力竞争者。它常被描述为可扩展、自文档化、实时显示。尽管它在业界并非最新,但它经常升级来满足开发者的需求。

兼容性:Windows、Linux、Mac OS、IOS、Android、UNIX、AmigaOS、MorphOS

主要插件和功能:

  • 使用 Lisp 编程语言

  • 语法着色

  • 支持 Unicode

优点:

  • Lisp 作为第二语言,可以帮助程序员更好地编程。

  • Emacs 可与多个不同平台兼容。

  • 提供大量自定义脚本供开发者使用。

缺点:

  • 用户可能需要多花一点时间,来学习该编辑器的复杂自定义过程。

  • 使用上比其他一些 IDE 要复杂一些。

6、IDLE

下载地址:https://docs.python.org/3/library/idle.html

图片

IDLE 代码编辑器深受学生欢迎,它是 Python 自带编辑器。该编辑器使用简单、通用,且支持不同设备。在使用更复杂工具之前,开发者可以通过 IDLE 学习基础知识。

兼容性:Windows、Linux、Mac OS

主要插件和功能:

  • tkinter GUI 工具包

  • 多窗口界面

  • 具备对话框、浏览器等配置

优点:

  • 允许用户突出显示错误、自动编码,并进行准确识别。

  • 具备轻量级 Python shell。

  • 其内置修正功能可以提升性能。

  • 允许用户在编辑器中搜索和替换文件。

缺点:

  • 不支持复制到库。

  • 脚本不能超过 100 行代码。

对于机器学习、人工智能和大数据,最好的 Python 兼容 IDE

Python 是机器学习、人工智能、大数据等领域中的首选语言之一。这部分将介绍适合这些领域 Python 开发的 IDE。

7、Atom

下载地址:https://atom.io/

图片

Atom 是一个开源编辑器,可与几乎所有编程语言兼容,如 PHP、Java。它定期更新、可信赖,且具备通用性。Github 为 Atom 开发了强大的功能,以提供良好的编程体验,包括多个插件,如 SQL queries 包、Markdown Preview Plus 包,以及编辑、可视化和渲染 LaTeX 公式的包。

8、Spyder

下载地址:https://www.spyder-ide.org/

图片

Spyder 是为数据科学而开发的。它是开源工具,能够与大量平台兼容,因而成为 IDE 新手用户的更好选择。为实现完美开发,它合并了多个关键库,如 NumPy、Matplotlib 和 SciPy。

9、JuPyter/IPython Notebook

下载地址:https://jupyter.org/

图片

Jupyter 是基于 web 的编辑器,它允许开发者构建和运行脚本或 notebook。它相对简单,对用户也更加友好。Jupyter 还使用 Seaborn 和 Matplotlib 执行数据可视化。

结论

本文概述了大量优秀的 Python IDE 和其他工具。决定使用哪一种工具取决于工具的便利性和对工具的熟练程度。当然,也有大家都喜欢的工具(如 PyCharm),但是你可以多尝试几种工具,看看哪种最适合你。

一些 IDE 适合新手,另一些则更加专业,每一个 IDE 都具备独特的功能和设计。本文仅提供一些选项,读者可以从中选择适合自己的 Python IDE。 

(二)PyCharm(主要使用其开发Python)

 下载地址:https://www.jetbrains.com/pycharm/download/

 1、下载安装

注:安装时勾选添加环境变量“将 bin 文件夹添加到PATH”

面板介绍

  1. 主菜单栏(Main Menu)‌:包含文件、编辑、查看、导航、代码、重构、运行、工具、版本控制、窗口和帮助等菜单项。这些菜单项涵盖了项目管理、代码编辑、调试和版本控制等主要功能‌
  2. 工具栏(Toolbar)‌:提供了一些常用功能的快捷按钮,方便快速执行操作。工具栏默认是隐藏的,可以通过“查看”菜单中的“工具栏”选项来显示‌
  3. 项目视图(Project View)‌:展示当前项目的文件和文件夹结构,方便进行文件管理和导航‌
  4. 代码编辑区(Editor)‌:用于编写和编辑代码的主要区域,具有语法高亮等功能‌
  5. 控制台(Console)‌:运行代码时显示输出结果和错误信息等‌
  6. 状态栏(Status Bar)‌:显示一些项目相关的状态信息,如代码提示状态等‌

2、创建项目

3、编写代码

选择.view文件夹---->New---->Python---->输入Python文件的名称“hello”

4、调试运行

在代码区域右击,选择“Run ‘xx’”或者‘Debug ‘xx’’都可,看控制台输出

相关文章:

Python - 初识Python;Python解释器下载安装;Python IDE(一)

一、初识Python Python 是一种高级编程语言,Python是一种面向对象的解释型计算机程序设计语言,Python由荷兰国家数学与计算机科学研究中心的吉多范罗苏姆()Guido van Rossum吉多范罗苏姆()于1989 年底发明…...

鸿蒙学习基本概念

文章目录 1、当前移动应用开发中遇到的主要挑战包括:2、 新的应用生态应该具备如下特征:3、HarmonyOS 应用:使用 HarmonyOS SDK 开发的应用程序,能够在华为终端设备4、HarmonyOS 元服务:元服务是 HarmonyOS 面向万物互…...

正则表达式(补充)

定义一个正则表达式 const 变量名 /表达式/ const reg /前端/ 匹配看字符串中有无前端俩字 正则对象上的一些方法 test() 用于查看正则表达式与指定的字符串是否匹配 const reg /前端/ const res reg.test(学前端,找黑马) //匹配到返回true,匹配不到返回fa…...

第23课-C++-红黑树的插入与旋转

🌇前言 红黑树是一种自平衡的二叉搜索树,因其出色的性能,广泛应用于实际中。Linux 内核中的 CFS 调度器便是一个使用红黑树的例子,这足以说明它的重要性。红黑树的实现通过红黑两种颜色的控制来维持平衡,并在必要时使…...

【C#】C#编程入门指南:构建你的.NET开发基础

文章目录 前言:1. C# 开发环境 VS的基本熟悉2. 解决方案与项目的关系3. 编辑、编译、链接、运行4. 托管代码和CLR4.1 CLR:4.2 C# 代码第编译过程(两次编译的) 5. 命名空间6. 类的组成与分析7. C# 的数据类型7.1 值类型7.2 引用类型…...

[系统安全] PE文件知识在免杀中的应用

0x1 PE文件与免杀思路 基于PE文件结构知识的免杀技术主要用于对抗启发式扫描。 通过修改PE文件中的一些关键点来达到欺骗反病毒软件的目的。 修改区段名 1.1 移动PE文件头位置免杀 工具:PeClean SizeOfOptionalHeader字段来描述扩展头的大小,恒定值为…...

相机标定原理

相机标定原理 什么是相机标定相机畸变 什么是相机标定 为了确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,需建立相机成像的几何模型,几何模型参数即为相机参数,求解相机参数的过程就是相机标定。 坐标系 **世界坐标…...

Linux基础开发工具使用

目录 1. 软件包管理器yum 1.1 概念介绍 1.2 更换镜像源(可选) 1.3 工具的搜索/查看/安装/卸载 1.4 优势 2. vim编辑器 2.1 vi和vim 2.2 三种常用模式和操作 2.3 配置vim 3. Linux编译器-gcc/g 4. Linux调试器-gdb 5. make和Makefile 6.…...

蓝牙PBAP协议及Android实现

文章目录 前言一、什么是PBAP协议?PBAP的关键功能 二、PBAP的工作流程PBAP流程 三、PBAP在Android实现关键步骤:1. 检查设备是否支持 PBAP 服务 2. 创建 PBAP 连接3. 发送 OBEX 请求4. 解析 vCard 数据数据存储与展示6. 性能优化建议7. 完整示例&#xf…...

Py之pymupdf:基于langchain框架结合pymupdf库实现输出每个PDF页面的文本内容、元数据等

Py之pymupdf:基于langchain框架结合pymupdf库实现输出每个PDF页面的文本内容、元数据等 目录 PyMuPDFLoader类 初始化 属性 方法 __init__(file_path, *, headers=None, extract_images=False, **kwargs) lazy_load() aload() alazy_load() load(**kwargs) load_and…...

LeetCode题解:17.电话号码的数字组合【Python题解超详细,回溯法、多叉树】,知识拓展:深度优先搜索与广度优先搜索

题目描述 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例 1: 输入:digits "23" 输出…...

《JVM第10课》内存溢出(OOM)排查过程

文章目录 常用命令1. jps2. jconsole3. jstat4. jmap 工具1.jvisualvm 排查OOM的方法其实很简单很简单。 如果能找到拋OOM的日志,可以在日志里看到是哪一行抛出的OOM异常。如果找不到日志,那么处理方式是导出Java进程的内存快照,然后用工具查…...

Thinkphp6视图介绍

一.MVC MVC 软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller) ThinkPHP6 是一个典型的 MVC 架构 控制器—控制器,用于将用户请求转发给相应的Model进行处理&a…...

躺平成长-人工智能进行编程-(12)

躺平成长: 让每一个人在科技(开源的网络/智能科技对于生活琐事的处理)的帮助下,实现养生反卷,躺平成长。 开源竞争: 当你无法彻底掌握技术的时候,你就开源这个技术,形成技术依赖&a…...

计算机网络中的域名系统(DNS)及其优化技术

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 计算机网络中的域名系统(DNS)及其优化技术 计算机网络中的域名系统(DNS)及其优化…...

Matplotlib库中show()函数的用法

在Matplotlib库中使用show()函数是用于显示绘制的图形的函数。它将图形显示在屏幕上或保存到文件中。show()函数通常在绘制完图形后调用。 Matplotlib是一个用于绘制2D图形的Python库,它提供了丰富的绘图工具和函数,可以用于创建各种类型的图表&#xf…...

C#中object和dynamic

在C#中,object和dynamic都是用于存储不同类型值的类型,但它们之间存在一些关键的区别: object object是C#中的基元类型之一,是所有其他类型的最终基类。当你将一个值赋给object类型的变量时,编译器会执行装箱操作&am…...

Spring Cloud Eureka 服务注册与发现

Spring Cloud Eureka 服务注册与发现 一、Eureka基础知识概述1.Eureka两个核心组件2.Eureka 服务注册与发现 二、Eureka单机搭建三、Eureka集群搭建四、心跳续约五、Eureka自我保护机制 一、Eureka基础知识概述 1.Eureka两个核心组件 Eureka Server :服务注册中心…...

【WPF】Prism学习(三)

Prism Commands 1.复合命令(Composite Commanding) 这段内容主要介绍了在应用程序中如何使用复合命令(Composite Commands)来实现多个视图模型(ViewModels)上的命令。以下是对这段内容的解释: …...

1+X应急响应(网络)系统加固:

系统加固: 数据库的重要性: 数据库面临的风险: 数据库加固: 业务系统加固: 安全设备加固: 网络设备加固:...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)

CSI-2 协议详细解析 (一) 1. CSI-2层定义(CSI-2 Layer Definitions) 分层结构 :CSI-2协议分为6层: 物理层(PHY Layer) : 定义电气特性、时钟机制和传输介质(导线&#…...

MODBUS TCP转CANopen 技术赋能高效协同作业

在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...

多模态大语言模型arxiv论文略读(108)

CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...

html-<abbr> 缩写或首字母缩略词

定义与作用 <abbr> 标签用于表示缩写或首字母缩略词&#xff0c;它可以帮助用户更好地理解缩写的含义&#xff0c;尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时&#xff0c;会显示一个提示框。 示例&#x…...

Python 包管理器 uv 介绍

Python 包管理器 uv 全面介绍 uv 是由 Astral&#xff08;热门工具 Ruff 的开发者&#xff09;推出的下一代高性能 Python 包管理器和构建工具&#xff0c;用 Rust 编写。它旨在解决传统工具&#xff08;如 pip、virtualenv、pip-tools&#xff09;的性能瓶颈&#xff0c;同时…...

C#中的CLR属性、依赖属性与附加属性

CLR属性的主要特征 封装性&#xff1a; 隐藏字段的实现细节 提供对字段的受控访问 访问控制&#xff1a; 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性&#xff1a; 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑&#xff1a; 可以…...

CSS3相关知识点

CSS3相关知识点 CSS3私有前缀私有前缀私有前缀存在的意义常见浏览器的私有前缀 CSS3基本语法CSS3 新增长度单位CSS3 新增颜色设置方式CSS3 新增选择器CSS3 新增盒模型相关属性box-sizing 怪异盒模型resize调整盒子大小box-shadow 盒子阴影opacity 不透明度 CSS3 新增背景属性ba…...

ThreadLocal 源码

ThreadLocal 源码 此类提供线程局部变量。这些变量不同于它们的普通对应物&#xff0c;因为每个访问一个线程局部变量的线程&#xff08;通过其 get 或 set 方法&#xff09;都有自己独立初始化的变量副本。ThreadLocal 实例通常是类中的私有静态字段&#xff0c;这些类希望将…...

【多线程初阶】单例模式 指令重排序问题

文章目录 1.单例模式1)饿汉模式2)懒汉模式①.单线程版本②.多线程版本 2.分析单例模式里的线程安全问题1)饿汉模式2)懒汉模式懒汉模式是如何出现线程安全问题的 3.解决问题进一步优化加锁导致的执行效率优化预防内存可见性问题 4.解决指令重排序问题 1.单例模式 单例模式确保某…...

【大厂机试题解法笔记】矩阵匹配

题目 从一个 N * M&#xff08;N ≤ M&#xff09;的矩阵中选出 N 个数&#xff0c;任意两个数字不能在同一行或同一列&#xff0c;求选出来的 N 个数中第 K 大的数字的最小值是多少。 输入描述 输入矩阵要求&#xff1a;1 ≤ K ≤ N ≤ M ≤ 150 输入格式 N M K N*M矩阵 输…...