2023-07-20_00001

1. Python解释器介绍

Python是一门解释型语言, 使用Python语法编写的代码需要被Python解释器逐行解释执行.
Python解释器是一款应用程序, 负责解析和执行Python代码. 
解释器的性能对Python程序的执行效率有很大影响.
Python解释器存在多个版本是为了适应不同的Python语言版本, 实现方式, 平台和用途需求, 
并且得益于开源性质, 不同的解释器可以满足不同的用户需求.

解释器性能的高低会直接影响Python程序的执行效率.
为了提高Python程序的性能, 可以考虑以下几种方式: 
* 1. 使用更高效的算法和数据结构; 
* 2. 编写高效的代码, 避免不必要的循环和重复计算;
* 3. 使用第三方库(如NumPy, Pandas)提供的高性能函数和数据结构;
* 4. 对关键代码进行优化, 如使用C扩展, 使用JIT编译器等; 
* 5. 并行计算和异步编程, 利用多核CPU和异步IO提高并发性能.

1.1 CPython

CPython是Python语言的官方解释器,使用C语言实现,是最常用的Python解释器之一。
我们通常说的, 下载的, 讨论的, 使用的都是这个解释器.

以下是关于CPython性能的一些特点: 

解释执行: CPython通过将Python代码解析为字节码, 然后逐条执行字节码来执行Python程序.
相比编译成机器码的语言, 解释执行会引入额外的解析和执行的开销, 因此在某些情况下可能相对较慢.

动态类型: Python是一门动态类型语言, 这意味着变量的类型可以在运行时进行改变.
动态类型的特性使得在执行过程中需要进行类型检查和动态分派, 这会带来一定的性能开销.

内存管理: CPython使用引用计数机制来进行内存管理, 这个机制简单高效, 在许多情况下能够很好地处理内存管理.
但在涉及循环引用的情况下, 引用计数机制需要额外的垃圾回收机制(如标记清除或分代回收)来处理内存释放, 这可能会对性能产生一定的影响.

C扩展: CPython允许通过C语言编写扩展模块, 这些扩展模块可以直接与底层操作系统和库进行交互, 以提高性能.
C扩展模块的使用可以在性能要求极高的部分代码中提供额外的性能优势.

1.2 Ipython

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

1.3 PyPy

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

1.4 Jython

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

1.5 IronPython

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

2. 解释器的下载与安装

当学习Python 3时了解Python 2是有一定的帮助的, 因为Python 2是Python 3之前的一个主要版本.
以下是一些了解Python 2的重要原因:

兼容性差异: Python 2和Python 3在某些语法和功能上存在不兼容之处. 
了解Python 2的语法和特性, 可以帮助你更好地理解Python 3中的改进和变化, 并兼容一些旧代码库或项目.

资源和库: 一些包和库在过渡到Python 3之前主要支持Python 2.

遗留代码维护: 在许多组织和项目中, 仍然有大量使用Python 2编写的代码.
了解Python 2可以帮助你维护和修改旧版本的代码, 对于需要修改或重构Python 2代码的情况很有帮助.

2.1 下载解释器

* 1. 访问Python官网: https://www.python.org/ .

* 2. 点击页面的Downloads下载 --> 选择All releases所有版本选项.

2023-07-18_00008

* 3. 选择较新的版本下载即可.
     找到'Looking for a specific release?'(寻找特定的发布?) --> 选择一个版本点击Download下载.
     
* 为什么不选择最新的版本?
软件的稳定性是非常重要的, 最新的版本不一定稳定, 
可能会存在一些未知的问题, 等待开发者提交错误信息, 官方在修正.
如果直接安装最新版本的, 开发过程中遇到错误, 可能都找不到解决方案.
以后再使用任何软件的时候, 都要确保自己使用的软件是较为稳定的版本, 不追新只求稳.

2023-07-18_00009

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

2023-07-18_00010

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

2022-10-26_00928

2022-10-26_00929

2.2 安装 Python3解释器

* 1. 选中安装包--> 鼠标右击--> 以管理员身份运行Python解释器安装包.

2023-07-18_00015

* 2. 选择自定义安装位置和选择功能.

2023-07-18_00017

* 3. 可选功能: 全选勾选, 直接Next下一步.

2023-07-18_00014

Documentation: 安装Python文档文件, 
	是英文的, 英文不好的可以去官网下载中文的...
	
pip: 安装pip, 它可以下载并安装其他的Python包,
     Python包管理工具可以获取第三方库, 模块的工具.
     
td/tk and IDLE: 安装tkinter和IDLE开发环境.
    Tkinter: 是Python 进行窗口视窗设计的模块.
    IDLE: 是Python官方的集成开发环境.
    
Python test suite: 安装标准库测试套件.

py launcher: 安装全局的启动, 可以更方便的启动python.

for all users(requires admin privileges): 对于所有用户(需要管理员权限).	
* 4. 高级选项: 全选.
* 5. 选中安装软件的位置.

2023-07-18_00019

Install for all users: 为所有用户安装.

Associate files with Python(requires the py launcher): 关联Python文件 (需要安装py launcher) 双击.py文件以解释器打开.

Create Shortcus for installed applications: 创建快捷方式, 在开始栏中创建快捷方式.

Add Python to environment variales: 将Python添加到环境变量中(这里是添加到用户变量而不是系统变量).

Precompile Standard library: 预编译标准库.
预编译标准库: 脚本文件被import导入使用时会生成.pyc字节码文件.
	
Download debugging Symbols: 下载调试符号.

Download debug binaries(requires vs 2017 for later): 下载调试二进制文件,需要vs2017及更高版本.
* 6. 安装成功时选中删除路径长度限制.
     历史 Windows的路径长度限制为260个字符, 这意味着长于此的路径将无法解决并导致错误.
     在最新版本的Windows中, 路径长度被扩展到大约32, 000个字符.

2023-07-18_00020

2.3 安装Python2解释器

* 1. 选中安装包--> 鼠标右击--> 以管理员身份运行Python解释器安装包.
* 2. 为所有用户安装.

2023-07-18_00025

* 3. 选择安装路径.

2023-07-18_00026

* 4. 设置将Python.exe添加到环境变量中.
     选择整个功能安装在本地硬盘上.

2023-07-18_00027

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

2023-07-18_00028

3. 解释器交互模式

安装完后在开始菜单创建快捷方法, 点击解释器进入交互式环境(interactive mode) .
解释器地址:
Python 2.7.18 安装路径:  C:\Program Files\Python2718\
Python 3.10.11安装路径:  C:\Program Files\Python31011\

2023-07-18_00030

找到ython.exe打开
交互模式首先显示欢迎信息, 版本信息, 版权声明, 然后是主提示符'>>>'.

2023-07-18_00031

在安装的时候Python的时候勾选了Add Python to environment variales  Add python.exe to Path, 将python.exe 添加到PATH变量中.
* 如果没有勾选, 就手动将Python的安装目录与Scripts目录添加到环境变量中.
查看环境变量进行验证:
python 3.10.11 解释器的路径和 pip工具被添加到用户变量中.
python 2.7.18  解释器的路径和 pip工具被添加到系统变量中.

2023-07-19_00003

2023-07-19_00002

在cmd终端输入: 'Python' 回车, (.exe可以被省略掉, 也可以忽略大小写, 输入: python), 
会按Path变量中记录的地址从上往下依次查找'Python.exe'.
现在, 每次启动都只能找到'C:\Program Files\Python2718\'下'python.exe'.

环境变量的优先级规则:
* 1. 用户变量 < 系统变量.
* 2. Path变量中的位置往上谁的优先级高.

image-20221026210143179

3.1 多版本配置

我们想要的效果是在终端中即可以使用'Python 2.7.18'解释器, 也可以使用'Python3.10. 11'解释器.

我们该如何解决呢?
先查看下Python解释器的pip工具, 它会给我们带来一些启示.
, C:\Program Files\Python31011\Scripts目录下有多个带有'pip'字眼的启动程, 其它两个文件是pip.exe的别名, 
他们的内容是完全一样, 只不过名称不一样而已. 使用别名的好处是, 在启动程序时可以使用不同的名称.

image-20230719014904597

模仿pip多启动方式, 为Python解释器启动文件复制一份, 并设置不同的名称.
找到Python解释器启动文件(python.exe), 复制python.exe, 粘贴一个副本, 为副本起一个名称.

将C:\Program Files\Python31011\目录下的python.exe, 赋值一份并命名为Python3.exe.

image-20230719015157243

现在, 在终端输入: python2, 调用python2.7.18 版本解释器; 输入: python3, 调用python 3.10.11 版本解释器.
* 如果输入: python3时启动Windows自带的应用商店, 则需要将环境变量中应用商的路径删除或者将python3的路径手动添加到系统变量中.
  cmd命令方式添加(管理员身份运行): setx PATH "C:Program Files\Python31011\;%PATH%" /m
  这个命令以插入的方式添加路径, 插入到第一个位置.

image-20230719022847250

2023-07-19_00002

去看了一下这个目录发现这里目录下有python与python3, 并且无法删除...

image-20230719022552396

3.2 编写第一个程序

在交互模式下书写Python代码, 写完一行执行一行.
交互模式可以即时得到程序的运行结果, 交互模式的代码无法保存, 不常使用.
* 交互模式下运行的程序与IDE工具上运行同一个程序, 某些时候会有一些细微的差异, 后续运到会详细说明.
解释器主要提示符'>>>'后面直接书写Python代码, 写完一行后按下回车会立刻执行.
程序执行之后会打印'Hello World!', 这就是一个最简单的Python程序.
* 上下按键( ), 可以翻动写过的代码.
# 符号必须是英文半角符.
>>>"Hello World!"
'Hello World!'
>>>

2022-11-17_01546

为什么几乎所有的编程语言入门教程的第一个程序, 几乎都是打印 "Hello World" 这句话?
这个习惯来自C语言的一门经典教材<<C程序设计语言>>, 此书作为世界范围经典的C语言入门之书,
几十年来引领了无数程序员进入C的世界, 而将打印 "Hello World!" 做为第一个程序的做法就源自该书.
后来者为了向经典致敬, 就将其作为传统保留下来了.

3.3 交互模式提示符

解释器主要提示符'>>>'后面直接书写Python代码, 写完一行后按下回车会立刻执行.

输入连续行时, 显示次要提示符, 默认是三个点(...) .
次要提示符表示是输入连续行, Python用缩进来识别代码块和代码之间的逻辑关系,
缩进相同的代码是一个代码块, 结束缩进表示代码块结束.

* 'pass'语句和'...'是占位语句, 它什么都不做, 只是为了保证语法的正确性而写.

2022-11-17_01547

3.4 退出交互模式

退出交互模式命令:
* 1. exit().
* 2. quit().
* 3. Ctrl + Z.

2022-11-17_01548

3.5 运行Python脚本

脚本即Script: 'Script'原义大概是手稿, 在计算机领域, 'Script'指那种可直接运行的文本文件.
一个二进制可执行文件, 是不能被称为'Script', 如C语言需要编译为二进制文件才能运行.

脚本语言是为了缩短传统的<编写--编译--链接--运行>过程而创建的计算机语言.
脚本语言特点: 语法简单, 一般以文本形式保存, 并且不需要编译成目标程序, 在调用时候直接解释.
创建脚本(创建脚本的方式有很多), , 新建一个文本, 使用编辑器编写Python代码, 编写完成注意保存.
将文本的后缀改为'.py'得到Python脚本.

image-20221115093315458

2022-11-15_01509

交互式运行脚本: (在终端调用Python解释器去执行这个脚本文件.)
     命令: python 脚本文件路径  
     --> python3 C:\Users\13600\Desktop\hello.py

image-20221115093621187

在运行Python脚本时, 可以使用命令行选项和参数来控制脚本的行为.
以下是一些常用的Python命令的可选参数:

* 1. -c <command>  --command <command>: 在命令行中提供单行Python代码进行执行.
   示例: python -c "print('Hello, World!')" 

* 2. -m <module>  --module <module>: 执行指定的Python模块.
   示例: python -m http.server 

3. -i  --interactive: 启动Python解释器, 并进入交互模式.
   示例: python -i 

4. `-h`  `--help`:显示帮助文档,列出命令行选项和参数的说明。
   示例: python -h 

这只是一小部分可用的Python命令的可选参数.
你可以通过运行python --help或查阅Python文档来获取完整的命令行选项和参数列表.
另外, Python脚本本身也可以通过argparse模块来解析命令行参数, 并处理更多自定义的可选参数设置.

4. IDLE编辑器

IDLE是Python解释器的集成开发工具( 集成了编译器, 解释器...),
同时拥有编辑, 编译, 调试, 运行等多种功能的集成工具.
* 以后也机会不会使用, 大致看下使用方法即可.
* 1. 启动IDLE开发工具.

image-20230719024725256

* 2. 新建脚本(快捷键: Ctrl + N).

image-20230719024843537

* 3. 保存文件(快捷键: Ctrl + s) --> 设置脚本的名称与保存的路径.

image-20230719025222927

image-20230719025535054

* 4. 运行脚本(快捷键: F5) --> 查看结果.

image-20230719025711889

5. 练习

1. Python解释器与Python语言的关系是什么?
2. 为什么下载解释器不选择最新的版本?
3. 在cmd终端中输入'python', 会发生什么?
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐