Python - 初识Python;Python解释器下载安装;Python IDE(一)
一、初识Python
Python 是一种高级编程语言,Python是一种面向对象的解释型计算机程序设计语言,Python由荷兰国家数学与计算机科学研究中心的吉多·范罗苏姆()Guido van Rossum吉多·范罗苏姆()于1989 年底发明,并于 1991 年首次发布,作为一门叫做ABC语言的替代品。 Python提供了高效的高级数据结构,还能简单有效地面向对象编程。第一个公开发行版版发布于 1991 年。它常被昵称为胶水语言,能够把其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。
1、Python语言特点
- 简单易学:语法简洁明了,接近自然语言,易于理解和学习。
- 跨平台:可以在多种操作系统上运行,如 Windows、Linux 和 macOS。
- 解释型语言:代码在运行时逐行解释执行,无需编译。
- 动态类型:变量在使用前不需要声明类型,类型在运行时确定。
- 面向对象:支持面向对象的编程范式,可以定义类和对象。
- 丰富的标准库:提供了大量的内置模块和函数,涵盖了文件操作、网络编程、数据库访问等多个领域。
- 第三方库丰富:通过 PyPI(Python Package Index)可以轻松安装和管理第三方库,满足各种开发需求。
- 社区活跃:拥有庞大的开发者社区,可以快速获得帮助和支持。
- 应用场景广泛:适用于 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”
面板介绍
- 主菜单栏(Main Menu):包含文件、编辑、查看、导航、代码、重构、运行、工具、版本控制、窗口和帮助等菜单项。这些菜单项涵盖了项目管理、代码编辑、调试和版本控制等主要功能
- 工具栏(Toolbar):提供了一些常用功能的快捷按钮,方便快速执行操作。工具栏默认是隐藏的,可以通过“查看”菜单中的“工具栏”选项来显示
- 项目视图(Project View):展示当前项目的文件和文件夹结构,方便进行文件管理和导航
- 代码编辑区(Editor):用于编写和编辑代码的主要区域,具有语法高亮等功能
- 控制台(Console):运行代码时显示输出结果和错误信息等
- 状态栏(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. 完整示例…...
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库,它提供了丰富的绘图工具和函数,可以用于创建各种类型的图表…...
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应急响应(网络)系统加固:
系统加固: 数据库的重要性: 数据库面临的风险: 数据库加固: 业务系统加固: 安全设备加固: 网络设备加固:...
Python爬虫实战:研究MechanicalSoup库相关技术
一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...
ssc377d修改flash分区大小
1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...

iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版分享
平时用 iPhone 的时候,难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵,或者买了二手 iPhone 却被原来的 iCloud 账号锁住,这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...

【第二十一章 SDIO接口(SDIO)】
第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 GPU 上对图像执行 均值漂移滤波(Mean Shift Filtering),用于图像分割或平滑处理。 该函数将输入图像中的…...
MinIO Docker 部署:仅开放一个端口
MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...

给网站添加live2d看板娘
给网站添加live2d看板娘 参考文献: stevenjoezhang/live2d-widget: 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 网站环境如下,文章也主…...

算术操作符与类型转换:从基础到精通
目录 前言:从基础到实践——探索运算符与类型转换的奥秘 算术操作符超级详解 算术操作符:、-、*、/、% 赋值操作符:和复合赋值 单⽬操作符:、--、、- 前言:从基础到实践——探索运算符与类型转换的奥秘 在先前的文…...