当前位置: 首页 > 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应急响应(网络)系统加固:

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

质量体系的重要

质量体系是为确保产品、服务或过程质量满足规定要求,由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面: 🏛️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限,形成层级清晰的管理网络&#xf…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序

一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...

Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?

Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...

算法岗面试经验分享-大模型篇

文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer (1)资源 论文&a…...

七、数据库的完整性

七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...

SQL慢可能是触发了ring buffer

简介 最近在进行 postgresql 性能排查的时候,发现 PG 在某一个时间并行执行的 SQL 变得特别慢。最后通过监控监观察到并行发起得时间 buffers_alloc 就急速上升,且低水位伴随在整个慢 SQL,一直是 buferIO 的等待事件,此时也没有其他会话的争抢。SQL 虽然不是高效 SQL ,但…...

使用LangGraph和LangSmith构建多智能体人工智能系统

现在,通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战,比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...

LCTF液晶可调谐滤波器在多光谱相机捕捉无人机目标检测中的作用

中达瑞和自2005年成立以来,一直在光谱成像领域深度钻研和发展,始终致力于研发高性能、高可靠性的光谱成像相机,为科研院校提供更优的产品和服务。在《低空背景下无人机目标的光谱特征研究及目标检测应用》这篇论文中提到中达瑞和 LCTF 作为多…...

pycharm 设置环境出错

pycharm 设置环境出错 pycharm 新建项目,设置虚拟环境,出错 pycharm 出错 Cannot open Local Failed to start [powershell.exe, -NoExit, -ExecutionPolicy, Bypass, -File, C:\Program Files\JetBrains\PyCharm 2024.1.3\plugins\terminal\shell-int…...

Axure 下拉框联动

实现选省、选完省之后选对应省份下的市区...