2.1 Python 解释器

news2024/11/16 8:55:21

1. 什么是 Python 解释器

Python 解释器是解释 Python 脚本执行的程序.
开发者在编写 Python 代码保存后, 就会得到一个以'.py'为扩展名的文本文件,
若要运行此文件, 就需要Python解释器去执行.

2. Python 解释器的种类

Python 有好几种版本的解释器:

CPython: 官方版本的解释器, 这个解释器是用 C语言开发的, 所以叫CPython.
CPython 是使用最广的 Python 解释器, 我们通常说的, 下载的, 讨论的, 使用的都是这个解释器.

Ipython: 基于 CPython 之上的一个交互式解释器, 在交互方式上有所增强,
执行Python代码的功能和CPython是完全一样的CPython用>>>作为提示符,
而IPython用In [序号]:作为提示符.

PyPy: 一个追求执行速度的Python解释器. 采用JIT技术, 对Python代码进行动态编译(注意, 不是解释), 
可以显著提高Python代码的执行速度. 绝大部分CPython代码都可以在PyPy下运行, 
但还是有一些不同的, 这就导致相同的Python代码在两种解释器下执行可能会有不同的结果.

Jython: 运行在Java平台上的Python解释器, 可以直接把Python代码编译成Java字节码执行.

IronPython: 和Jython类似, 只不过IronPython是运行在微软.Net平台上的Python解释器, 
可以直接把Python代码编译成.Net的字节码.

3. 下载Python 解释器

Python 2  Python 3 各自下载一个, 主要使用 Python 3,  Python 2 有差异之处单独列出.
* 1. 访问 Python 官网: https://www.python.org/
* 2. 点击 Downloads 下载

2022-10-23_00868

* 3. 选择 Python3.9.4 版本下载.
     地址: https://www.python.org/downloads/release/python-394/

2022-10-23_00869

* 4. 下载电脑对应的版本: windows 64.

2022-10-23_00870

* 5. 按上面的步骤再下载 Python 2.7.18
     官方对于 Python 2 的支持将会在202011日结束.
     官方在20204月还是发行了最后一个版本 Python 2.7.18

2022-10-26_00928

2022-10-26_00929

4. 安装 Python 3 解释器

* 1. 自定义安装 Python 环境.
     一定要勾选 Add Python 3.9 to PATH, 否则后续使用找不到 Python 解释, 需要手动添加.

2022-10-23_00871

* 2. 可选功能: 默认全选, 直接下一步.

2022-10-23_0087222

* 3. 高级选项: 全选.

2022-10-23_00873

勾选预编译标准库 py文件编译一次后会生产成pyc文件, 以后运行的时候就会免编译的过程, 会快一点.
* 4. 安装...成功

image-20221023231044342

2022-10-23_00875

5. 安装 Python 2 解释器

* 1. 为所有用户安装

2022-10-26_00930

* 2. 选择安装路径

2022-10-26_00931

* 3. 设置将Python.exe 添加到环境变量中

2022-10-26_00932

* 4. 等待安装...完成

2022-10-26_00933

2022-10-26_00934

7. 检测Python 解释器是否安装成功

解释器地址:
Python 2.7.18 所在位置: C:\programming\python2.7.18\python.exe
Python 3.9.4 所在位置:  C:\programming\python3.9.4\python.exe

找到对应版本的可执行文件( Python.exe ), 解释器运行之后打开一个窗口, 
窗口中提示 Python 版本信息, 则说明安装成功.

2022-10-26_00965

8. 终端中使用 Python 解释器

前面使用Python解释器的时候, 需要切换到想对应的 Python 版本的安装路径, 找到可执行文件, 双击执行.
可以将它们的路径添加到环境变量中, 在打开cmd终端执行解释器, (后续很常用).

在安装的时候Python的时候 都勾选了 Add python.exe to Path, 将python.exe 添加到 PATH 变量中.
会将以下路径添加到 Path 变量中.
C:\programming\python2.7.18
C:\programming\python2.7.18\Scripts
C:\programming\Python3.9.4
C:\programming\Python3.9.4\Scripts

2022-10-26_00967

 在终端输入: Python 回车, (.exe可以被省略掉), 会按 Path 变量中记录的地址从上往下依次查找Python.
 每次启动都只能找到 C:\programming\python2.7.18  python.exe.
 可以看出 Python 解释器的名称都相同, 在终端中输入 python, 谁在 Path 变量中的位置往上谁的优先级高.

image-20221026210143179

9. Python 解释器多版本共存

我们想要的效果是在终端中即可以使用Python 2.7.18 解释器,
也可以使用 Python3.9.4 解释器.
 Python 解释器的名称都相同, 我们该如何解决呢?

先查看下 Python 解释权的 pip 工具:
C:\programming\python2.7.18\Scripts
C:\programming\python2.7.18\Scripts
每个 pip 工具有多份, 并起来不同的名字, 可以使用不同的名称, 去启动.

2022-10-26_00969

模仿 pip 的方法, 在各 Python 解释器的安装目录中, 
复制 python.exe 启动程序, 粘贴一个副本, 起一个别名.

 python2.7.18 目录的 Python-副本.exe 改为 python2.exe
 python3.9.4 目录的 Python-副本.exe 改为 python3.exe

之后再终端使用, 使用别名就可以很好的区分, 并启动对应的解释器.

2022-10-26_00970

在终端中启动 Python 2.7.18 解释器与 Python 3.9.4 解释器.

2022-10-26_00972

10. 运行 Python 程序的两种方式

10.1 交互式

交互式: 在cmd终端启动 Python 解释器, 在解释器中写 Python 代码, 写完一行执行一行.
交互式可以即时得到程序的运行结果, 多用于调试.
Python 解释器提示符 >>> 后面可以写 Python 代码, 写完一行后按下回车会立刻执行.
print()  Python 中的一个打印函数, 它将括号内的信息展示到终端.

# 启动 Python解释器
C:\Users\13600> python 
Python 解释器信息...
...

# 在终端打印 hello world!
>>> print("hello world!") 
hello world!

# 退出 Python解释器
>>> exit()  

10.2 脚本方式

脚本方式: 把程序写到文件里(约定俗称文件名后缀为.py), 然后用 Python 解释器解释执行其中的内容.
执行方式: python3 python程序文件的路径

脚本执行的三个步骤:
* 1. 先启动python3.9解释器, 此时相当于启动了一个文本编辑器
* 2. 解释器发送系统调用,把 a.py 的内容从硬盘读入内存, 此时 a.py 中的内容
     全部为普通字符,没有任何语法意义.
* 3. 解释器开始解释执行刚刚读入内存的 a.py 的代码, 开始识别 Python 语法并执行.

文章的段落全是代码块包裹的, 留言0是为了避免文章提示质量低.
文章的段落全是代码块包裹的, 留言1是为了避免文章提示质量低.
文章的段落全是代码块包裹的, 留言2是为了避免文章提示质量低.
文章的段落全是代码块包裹的, 留言3是为了避免文章提示质量低.
文章的段落全是代码块包裹的, 留言4是为了避免文章提示质量低.
文章的段落全是代码块包裹的, 留言5是为了避免文章提示质量低.
文章的段落全是代码块包裹的, 留言6是为了避免文章提示质量低.
文章的段落全是代码块包裹的, 留言7是为了避免文章提示质量低.
文章的段落全是代码块包裹的, 留言8是为了避免文章提示质量低.
文章的段落全是代码块包裹的, 留言9是为了避免文章提示质量低.


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

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

相关文章

猿创征文|技术成长之各进制之间的转换

目录 一.非十进制转十进制 方法: 示例 解释 二进制转十进制 八进制转十进制 十六进制转十进制 二.十进制转非十进制 整数部分 方法 示例 十进制整数转二进制 十进制整数转八进制 十进制整数转十六进制 小数部分 方法 十进制小数转二进制 十进制小数转…

反应性叠氮化物N3-PEG-NH2,Azide-PEG-Amine,叠氮-聚二乙醇-胺

一:产品描述 1、名称 英文:N3-PEG-NH2,Azide-PEG-Amine 中文:叠氮-聚二乙醇-胺 2、CAS编号:N/A 3、所属分类:Amine PEG Azide PEG 4、分子量:可定制,叠氮-聚二乙醇-胺10k、叠氮…

Allegro DFM Ravel Rule检查工具介绍

Allegro DFM Ravel Rule检查工具介绍 Allegro任何一个版本都支持DFM Ravel Rule检查,即便是166的版本 打开后的界面如下所示 可以检查项目 测试点,阻焊,走线,丝印,过孔,milling,装配,outline相关的DFM检查 可以让违反规则的设计处以DRC的形式报出来 避免加工问题 首…

Spring+SpringMVC+Mybatis SSM框架详解

一、JDBC编程 1、JDBC 简介 JDBC其实就是 Java 官方提供的一套规范(接口),用于帮助开发人员快速实现不同关系型数据库的连接。 程序运行的时候,数据都是在内存中的。当程序终止的时候,通常都需要将数据保存到磁盘上…

VScode 官网下载太慢解决方法

用惯了HBuilder 和 WebStorm,发现身边很多人也在用 VSCode,就像尝试下。 但是,官网下载太慢了。https://code.visualstudio.com/ 我可是 500M 的宽带啊~!!! 有小道消息说,VSCode 对中国大陆用…

【Linux】软件包管理器 --- yum

目录🌈前言Linux 软件包管理器 yum🚁1、什么是软件包🚂2、yum指令🚃3、关于 rzsz🌈前言 本篇文章进行开发工具的学习!!! Linux 软件包管理器 yum 🚁1、什么是软件包 源…

heapdump 攻击面利用

点击上方蓝字关注我们 一、heapdump案例 1.1 项目中的分析 这个是项目中遇到的一个例子,发现了heapdump泄露,但没有找到可用session,当时就想着内存中应该是有账号密码的,于是就开始找了起来。 用OQL进行搜索,先找…

异地远程群晖NAS教程【cpolar内网穿透】

公网/外网访问群晖NAS,虽然品牌NAS都会有自带DDNS服务,但是公网IPV4很难申请,所以很多用户都会转战内网穿透。网上也有很多教程,比如frp…,但是需要有公网服务器支持来进行搭建,有一定的要求。 cpolar内网穿…

Graphviz安装教程

Graphviz安装教程 官网下载graphviz的安装包 ,网址: https://graphviz.org/download/ 进入下面页面。此处我选择这个版本进行下载, 后面就是安装和配置环境变量问题 安装的时候记住安装路径(最好放到anaconda文件夹下,即**\An…

通讯录的实现(静态版本和动态版本和文件版本)

为什们要实现通讯录? 主要是为了让我们将结构体的知识,了解的更加深刻,将结构体应用一下,我们先将静态的通讯录实现,在进行改良,用动态内存的知识再将通讯录改造一边,将动态内容的知识也运用一…

C++ Reference: Standard C++ Library reference: C Library: cstring: strncat

C官网参考链接&#xff1a;https://cplusplus.com/reference/cstring/strncat/ 函数 <cstring> strncat char * strncat ( char * destination, const char * source, size_t num ); 从字符串中追加字符 将source的第一个num个字符追加到destination&#xff0c;并追加…

重型机床热误差补偿温度敏感测点的识别与优化选择

重型机床热误差补偿温度敏感测点的识别与优化选择 动机与主要贡献 ● 热误差预测的性能主要取决于预测模型的准确性和鲁棒性以及输入的温度变量 ● 在大型数控机床热误差补偿方案中&#xff0c;由于温度敏感点的结构和发热机理复杂&#xff0c;目前仍缺乏有效的温度敏感点识别…

java---贪心---区间分组(每日一道算法2022.10.28)

题目&#xff1a; 给定 N 个闭区间 [ai,bi]&#xff0c;请你将这些区间分成若干组&#xff0c;使得每组内部的区间两两之间&#xff08;包括端点&#xff09;没有交集&#xff0c;并使得组数尽可能小 输出最小组数 第一行包含整数 N&#xff0c;表示区间数 接下来 N 行&#x…

Redis篇(2)——main函数

众所周知&#xff0c;redis是C语言写的。那么main函数来一波 int main(int argc, char **argv) {struct timeval tv;int j;//运行测试方法 #ifdef REDIS_TESTif (argc 3 && !strcasecmp(argv[1], "test")) {if (!strcasecmp(argv[2], "ziplist")…

SpringBoot

SpringBoot项目搭建方式1项目搭建方式2SpringBoot文件配置application.propertiesapplication.ymlSpringBoot整合MybatisSpringBoot整合logbackSpringBoot整合pageHelperSpringBoot整合DruidSpringBoot整合FreeMarkerFreeMarker常用指令(遍历List集合)FreeMarker遍历Map集合Spr…

【树莓派不吃灰】Linux系统下必知必会的一些命令

目录1. 前言2. 必知必会命令2.1 ls -al 列出当前目录下的文件2.2 cd 改变目录2.3 pwd 输出当前目录2.4 clear 清屏命令2.5 mkdir 新建目录2.6 rmdir 删除目录2.7 cat 显示或连接文件内容2.8 touch 创建文件 & cat > 创建文件2.9 rm 删除文件2.10 mv 移动/重命名文件/目录…

【小程序开发】事件监听 | 类型划分 | 属性分析

&#x1f373;作者&#xff1a;贤蛋大眼萌&#xff0c;一名很普通但不想普通的程序媛\color{#FF0000}{贤蛋 大眼萌 &#xff0c;一名很普通但不想普通的程序媛}贤蛋大眼萌&#xff0c;一名很普通但不想普通的程序媛&#x1f933; &#x1f64a;语录&#xff1a;多一些不为什么的…

基于SSM实现前后端分离在线考试管理系统

作者主页&#xff1a;编程指南针 作者简介&#xff1a;Java领域优质创作者、CSDN博客专家 、掘金特邀作者、多年架构师设计经验、腾讯课堂常驻讲师 主要内容&#xff1a;Java项目、毕业设计、简历模板、学习资料、面试题库、技术互助 文末获取源码 项目编号&#xff1a;BS-XX-…

[kafka]二.优化(如何保证不丢数据,且不重复[一次且仅一次])

二.优化 1.不丢失数据ack-1 当Producer向Leader发送消息时&#xff0c;可以通过ack的值来设置可靠性级别。 1&#xff09;1&#xff08;默认&#xff09; 意味着ISR中的Leader已成功收到消息并且Producer得到Leader收到消息的确认。如果ISR中的副本数还没有来得及拉取数据就…

Linux 进程替换深剖

目录传统艺能&#x1f60e;概念&#x1f914;细则&#x1f914;原理&#x1f914;exec 函数&#x1f914;execl&#x1f60b;execlp&#x1f60b;execle&#x1f60b;execv&#x1f60b;execvp&#x1f60b;execve&#x1f60b;实现简易 shell&#x1f914;传统艺能&#x1f60…