Python 之 基本概述

news2024/11/16 4:32:55

这里写目录标题

  • 一、Python 简介
    • 1. 历史背景
    • 2. 特点
    • 3. 优缺点
    • 4. 应用领域
  • 二、Python 解释器
    • 1. 解释器是什么?
    • 2. 解释器的构成及其各部分功能
    • 3. 解释器的执行过程
  • 三、Python 环境安装
  • 四、第一个 Python 程序
    • 1. 实际操作
    • 2. 常见问题
  • 五、Python 开发环境

一、Python 简介

1. 历史背景

  • Python 是一种高级编程语言,由荷兰人吉多·范罗苏姆(Guido van Rossum)于 1980 年代中期发明并首次发布。
  • 他最初设计 Python 语言是为了解决他在编程中遇到的问题,并希望创造一种比 C 语言更易用、更具有表达力和动态性的语言。
  • Python 的名字来源于英国广播剧《巨蟒与香蕉》(Monty Python),这是一种幽默、调侃式的文化现象,也是 Python 语言的一个特色。
  • Python 语言的设计哲学是优雅、明确、简单,它具有丰富的库和广泛的应用领域,包括 Web 开发、数据分析、人工智能、科学计算、网络编程、GUI 编程等等。
  • 由于其易学易用、可读性强、可扩展性好的特点,Python 已经成为目前最受欢迎的编程语言之一,在编程语言排行榜上一直名列前茅。

2. 特点

  • (1) 简单易学:Python 的语法简单易懂,容易上手,适合初学者学习。
  • (2) 可读性强:Python 的代码结构清晰,缩进规则明确,代码可读性强,易于维护。
  • (3) 可扩展性好:Python 支持多种编程范式,包括面向对象、函数式、过程式等,同时也支持 C/C++ 扩展,可以方便地与其他语言进行交互。
  • (4) 库丰富:Python 拥有丰富的标准库和第三方库,可以满足各种需求,如数据处理、网络编程、图形界面等。
  • (5) 跨平台性强:Python 可以在多种操作系统上运行,包括 Windows、Linux、Mac OS 等。

3. 优缺点

  • Python 具有如下优点:
  • (1) 简单易学,适合初学者学习。
  • (2) 可读性强,易于维护。
  • (3) 可扩展性好,支持多种编程范式和 C/C++ 扩展。
  • (4) 库丰富,可以满足各种需求。
  • (5) 跨平台性强,可以在多种操作系统上运行。
  • Python 具有如下缺点:
  • (1) 性能较低,与 C/C++ 相比,Python 的执行速度较慢。
  • (2) 代码保密性差,Python 的代码可以很容易地被反编译。
  • (3)不适合开发大型项目,Python 的模块化和代码结构不如 Java 等语言。

4. 应用领域

  • Python 在各个领域都有广泛的应用,以下是其中的几个领域:
  • (1) 数据科学:Python 拥有强大的数据处理和分析能力,因此在数据科学领域得到了广泛的应用,如数据挖掘、机器学习、人工智能等。
  • (2) 网络编程:Python 的网络编程能力强大,可以用于开发 Web 应用、网络爬虫、网络服务器等。
  • (3) 自动化测试:Python 可以用于编写自动化测试脚本,可以提高测试效率和质量。
  • (4) 游戏开发:Python 可以用于游戏开发,如 Pygame 等库可以方便地进行游戏开发。
  • (5) 科学计算:Python 可以用于科学计算,如 NumPy、SciPy 等库可以方便地进行科学计算。

二、Python 解释器

  • 在学习 Python 之前,我们需要明白一个基本的原理,计算机只认识二进制,也就是 0 和 1,它无法识别我们所输入的字母和汉字。那么,我们所编写的 Python 程序只有通过 Python 解释器才可以正确的运行。

1. 解释器是什么?

  • Python 解释器是一种可以执行 Python 代码的软件程序。Python 官方提供了多个解释器,包括 CPython、Jython、IronPython、PyPy 等。其中,CPython 是最常用的一个,也是官方默认的解释器。
  • CPython 是由 C 语言开发的 Python 解释器,是最早也是最广泛使用的一种解释器。它可以解释执行 Python 的源代码,并将其转化为字节码来提高性能。
  • CPython 同时也是官方推荐的 Python 解释器,能够很好地支持 Python 的标准库和第三方库。
  • 除了 CPython,还有如下几个的 Python 解释器:
  • (1) Jython,可以将 Python 代码转化为 Java 字节码,在 Java 虚拟机中执行;
  • (2) IronPython 可以在 .NET 平台上运行 Python 代码;
  • (3) PyPy 则是一个 Python 实现,具有很高的性能。
  • 在编写 Python 代码时,需要使用相应版本的 Python 解释器来解释执行代码,以便产生正确的结果。可以通过命令行或者 IDE 等方式来运行 Python 解释器,并执行 Python 代码。

2. 解释器的构成及其各部分功能

  • Python 解释器是一个软件,它可以解析和执行 Python 程序。Python 解释器由多个组件构成,每个组件的功能不同,这些组件可以分为两个主要部分:解释器核心和标准库。
  • 解释器核心:Python 解释器核心由解释器、编译器、解析器和运行时环境等几个组件构成。
  • 解释器:Python 解释器是 Python 语言最核心的部分,它的主要功能是解析和执行 Python 代码。Python 解释器的任务是将源代码转换为字节码并运行它们。
  • 编译器:Python 解释器有一个简单的编译器,用于将源代码转换为字节码。
  • 解析器:Python 解释器使用解析器来解析源代码。解析器将源代码转换为解释器可以理解的抽象语法树(AST)。
  • 运行时环境:Python 解释器还包括运行时环境,它负责管理内存和执行 Python 程序中的各种操作,例如对象创建、垃圾回收和异常处理等。
  • 标准库:Python 标准库是由一组模块组成的集合,这些模块包含了各种用于处理文件、网络、日期、时间等操作的工具和函数。
  • 标准库中包含了大量的功能库,例如 re 模块用于处理正则表达式,urllib 模块用于处理 URL,datetime 模块用于处理日期和时间,socket 模块用于处理网络通信等等。标准库是 Python 解释器最重要的组成部分之一,它提供了 Python 编程的核心功能。

3. 解释器的执行过程

  • 词法分析:将输入的源代码分解成多个单词(token),每个单词代表一种语法结构,如标识符、关键字、运算符等。词法分析器会忽略空格和注释,并将相邻的单词组合成更复杂的语法结构,如表达式、语句等。
  • 语法分析:将单词序列转化成抽象语法树(AST),AST 是一种树状结构,用来表示程序的语法结构。在这个过程中,解释器会检查语法错误,如缺少括号、缺少分号等。
  • 字节码编译:将 AST 转化成字节码,字节码是一种类似于汇编语言的中间代码,它是一种跨平台的代码表示形式,可以在不同的操作系统和硬件平台上运行。
  • 解释执行:将字节码转化成机器码并执行。Python 解释器使用栈来管理数据,执行过程中会不断压入、弹出数据。解释器会根据操作码来执行相应的操作,如加减乘除、函数调用等。
  • 内存管理:Python 解释器使用自动垃圾回收机制来管理内存。当一个对象不再被引用时,解释器会自动将其从内存中删除,释放空间。

三、Python 环境安装

  • Windows 当中 Python 环境的安装详见我的这篇博文 机器学习的相关软件框架下载安装。

四、第一个 Python 程序

1. 实际操作

  • 向世界说你好,应该是我们在学习任何一门编程语言之前,都会选择的第一个程序。
  • 因此,我们 Python 的第一个程序也是向世界说你好,也就是大家所熟知的 Hello World!
  • 在我们尚未安装 Python 的 IDE 时,我们可以通过命令提示符进行 Python 程序的编写。
  • 首先,我们打开开始菜单,在其中输入 CMD,就可以找到我们的命令提示符了,如下图所示。

在这里插入图片描述

  • 接着,在命令提示符中的窗口内,我们输入 python,进入 python 的编译环境,也可以使用此命令查看我们安装的 Python 版本,如下图所示。

在这里插入图片描述

  • 当我们看到左侧出现 >>> 提示时,就可以输入 Python 代码了,由于我们的目的时让 Python 向世界说你好,也就是让 Python 在屏幕上显示出来你好,世界即可,在输入完代码后,直接回车就可以运行了,如下图所示。

在这里插入图片描述

  • 这个代码就是在屏幕上输出双引号之间的内容。但这里需要注意的是,我们的括号和引号必须使用英文版的,否则就会报错,如下图所示。

在这里插入图片描述

  • 那么,我们如果想在屏幕上输出别的内容应该怎么办?
  • 其实很简单,只需要将双引号中的内容修改成我们想在屏幕上显示出来的内容即可,如下图所示。

在这里插入图片描述

2. 常见问题

  • (1) 找不到命令提示符程序在哪里?
  • 答:可以用过菜单搜索进行寻找,获知使用快捷键 win+r 打开运行框,然后在运行框中输入 cmd 后回车即可打开命令提示符程序。

在这里插入图片描述

  • (2) 在命令提示符内,输入 python 时,出现 'python’不是内部或外部命令,也不是可运行的程序或批处理文件。
  • 答:这是因为在安装 Python 时,没有勾选添加路径的选项,对此,我们 可以卸载 Python ,然后重新安装 Python,并勾选这个选项或者自己手动对路径进行添加。
  • 那么,对于 Python 的卸载,我们首先右击开始菜单,在弹出的窗口中点击最上方的应用和功能,如下图所示。

在这里插入图片描述

  • 然后在弹出的界面中,搜索 Python 即可,然后点击搜索的结果,就可以看到卸载按钮,如下图所示。

在这里插入图片描述

  • (3) 在命令提示符捏,出现无法初始化设备 PRN信息。
  • 答:这是因为我们没有进入到 Python 解释器环境内去执行代码,对此,我们应该现在命令提示符中输入 python,当屏幕上出现 >>> 提示时,再出入代码执行,就可以解决这个问题了。
  • (4) 执行代码后,出现 SyntaxError: invalid character ’ “”(U+201c) 信息。
  • 答:这是因为我们代码当中有符号中中文的,需要注意的是,基本所有的符号都应该是在输入法为英文状态下输入的。

五、Python 开发环境

  • Python 程序的开发有许多种方式,一般我们常见的有:
  • (1) Python 解释器环境内,执行单行代码。
  • (2) 使用 Python 解释器程序,执行 Python 代码文件。
  • (3) 使用第三方 IDE(集成开发工具),如 PyCharm 软件,开发 Python 程序。
  • 对于 PyCharm 软件的下载安装,直接搜索官网,然后安装免费的社区版即可,具体流程在此处便不做过多叙述了。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Ubuntu 22.04.2 LTS 安装搜狗输入法后,修改区域格式Regional Format crash 崩溃 ,改用bash 指令修改

故障 系统已经升级到最新 基于Ubuntu 20.04 LTS apt upgrade升级而来。 yeqiangyeqiang-MS-7B23:~$ cat /etc/os-release PRETTY_NAME"Ubuntu 22.04.2 LTS" NAME"Ubuntu" VERSION_ID"22.04" VERSION"22.04.2 LTS (Jammy Jellyfish)"…

【LangChain】Document篇

概述 这些是处理文档的核心链。它们对于总结文档、回答文档问题、从文档中提取信息等很有用。 这些链都实现了一个通用接口: class BaseCombineDocumentsChain(Chain, ABC):"""Base interface for chains combining documents."""a…

Vue:Elemenu-Plus递归型菜单组件封装

前端开发中,经常遇到需要与后端配置,前端动态渲染菜单的应用场景,而究其本质,就是菜单组件的应用,只是在不确定菜单级数的情况下,我们需要对组件做一个递归处理,让它能够适应大多数应用场景。 递…

9.17UEC++代码段、编码和字符串

1. 编码定义: 自行转码: 字符串: FName:名称,访问快,用FName做键值。(键值容器)资产名称基本都是FName。 FText:一般是和UI有关,专门对接UI,也是…

IDEA动态调试WebLogic

IDEA动态调试WebLogic 环境:Windows 10 Windows7(192.168.52.181) Idea WebLogic12.2.1.4 Java8102 0x01 安装weblogic 安装成功后,在domains下的bin目录下有个startWebLogic.cmd文件 0x02 配置被调试端 0x0201 添加调试参数 2.1.1 方式一 在…

基于单片机智能衣柜 智能衣橱 换气除湿制系统紫外线消毒的设计与实现

功能介绍 以51单片机作为主控系统;液晶显示当前衣柜温湿度和柜门开启关闭状态;按键设置当前衣柜湿度上限值、衣柜门打开和关闭,杀菌消毒;当湿度超过设置上限,继电器闭合开启风扇进行除湿;进行杀菌消毒时&am…

7.5 cloneGitHub项目到服务器端/wget/print/spikes_max

在机器学习和深度学习中,位量化(Bit Quantization)是一种将模型参数或激活值表示为较低精度的二进制数的技术。通常情况下,模型的参数和激活值是以浮点数形式存储和计算的,占用较大的存储空间和计算资源。位量化通过减…

找不到vcruntime140.dll无法继续执行代码的解决方法

计算机提示找不到vcruntime140.dll无法继续执行代码是什么原因呢?在我们运行photoshop,数据库的时候,电脑提示找不到vcruntime140.dll是由于电脑系统中的Microsoft Visual C Redistributable包损坏,vcruntime140.dll是Microsoft V…

(8)基础强化:内存流,压缩流,序列化,资料管理器,编码,File类,文件流,文本流

一、内存流 1、为什么要有内存流? 答:内存流(MemoryStream)是一个特殊的流,它将数据存储在内存中而不是磁盘或网络。 使用内存流的主要原因和使用场景包括: 内存操作: …

故障:启动修复无法修复你的电脑

有台笔记本很久没用了无法开机了,还是用的win7的系统,开机后提示我使用启动修复,但是失败了,提示我启动修复无法修复你的电脑 启动修复无法修复你电脑怎么办_自动修复电脑未正确启动的解决方法-win7之家 1、上网查了下…

Go语言程序设计(十七)并发编程

一、操作系统提供的并发基础 1、进程 进程是在并发环境下,程序的一次动态执行过程。它由进程控制块(PCB)、程序和数据三部分组成,进程在它的生命周期内可能处于执行、就绪、阻塞三种基本状态。 在多任务操作系统中,多个进程可以并发执行,而且进程是系统资源…

<数据结构>NO9.选择类排序|直接选择排序|堆排序

文章目录 选择排序1.直接选择排序优化直接选择排序 2. 堆排序 选择排序 基本思想 选组排序是从待排序数据中选出最大/最小的元素放入到序列的起始位置,直到待排序数据全部有序。 直接选择排序和堆排序的基本思想均符合选择排序。 1.直接选择排序 假设数据按升序…

Codeforces Round 883 (Div. 3)

A. Rudolph and Cut the Rope 只需要按照钉子距离的高度a_{i}和绳子的长度b_{i}的差值进行排序即可 代码 int n; pii a[N]; bool cmp(pii a,pii b) {return a.x-a.y<b.x-b.y; }void solve() {cin>>n;for(int i1;i<n;i)cin>>a[i].x>>a[i].y;sort(a1,…

36.RocketMQ之Broker如何实现磁盘文件高性能读写

highlight: arduino-light Broker读写磁盘文件的核心技术:mmap Broker中大量的使用mmap技术去实现CommitLog这种大磁盘文件的高性能读写优化的。 通过之前的学习&#xff0c;我们知道了一点&#xff0c;就是Broker对磁盘文件的写入主要是借助直接写入os cache来实现性能优化的&…

如何判断开发的商城系统是不是O2O平台?

纵观如今各大电商模式&#xff0c;数O2O发展最为火热&#xff0c;毫不夸张的说&#xff0c;O2O模式已经渗透到了很多行业中&#xff0c;那么哪些平台属于O2O呢?小编收集了一些资料&#xff0c;并将当下O2O平台分为以下这4种类型&#xff0c;下面小编就来带大家一起去了解了解!…

多模态系列论文--CoCa 详细解析

论文地址&#xff1a;CoCa: Contrastive Captioners are Image-Text Foundation Models 代码地址&#xff1a;CoCa CoCa 1 摘要2 网络结构3 损失函数4 实验结果5 总结 1 摘要 CoCa代表Contrastive Captioners的缩写&#xff0c;代表模型用两个目标函数训练出来的&#xff0c;一…

回溯法解决地图填色问题

目录 回溯法 最大度优先 最少可选颜色优先 向前探测 随机产生不同规模的图&#xff0c;分析算法效率与图规模的关系&#xff08;四色&#xff09; 回溯法 回溯法的基本思想是采用递归和深度优先搜索的方法&#xff0c;尝试在一组可能的解中搜索出符合要求的解&#xff0c…

Langchain的新课程;Mozilla开发的AI文档工具遭到开发者批评

&#x1f989; AI新闻 &#x1f680; Mozilla开发的AI文档工具遭到开发者批评&#xff0c;已下线 摘要&#xff1a;Mozilla开发的基于生成式AI的工具AI Help在开发者群体中遭到广泛批评。开发者认为该工具提供的信息常常错误&#xff0c;甚至认为它没有这个功能反而更好。针对…

Flutter 仿抖音、豆瓣、知乎、番茄小说的评论弹窗开发实践

最近用flutter做了一个评论弹窗的功能&#xff0c;本来以为很简单的烂大街的一个功能&#xff0c;结果却遇到了不少的问题&#xff0c;而且这些问题我觉得很有意义&#xff0c;以至于我觉得我如果分享出来可能会对其他人很有帮助。 要做一件事情可能会很容易&#xff0c;但做好…

ModaHub魔搭社区: AI模型社区ModelScope和Hugging Face行业分析报告

目录 引言&#xff1a; 一、github星数&#xff1a; 二、模型数&#xff1a; 三、数据集&#xff1a; 四、演示应用程序数&#xff1a; 五、下载数&#xff1a; 六、开发者、付费企业和公司用户数&#xff1a; 结论&#xff1a; 引言&#xff1a; AI模型开源社区在近年…