1. 编程语言基础
计算机语言(Computer Language)指用于人与计算机之间通讯的语言。计算机语言是人与计算机之间传递信息的媒介。计算机系统最大特征是指令通过一种语言传达给机器。为了使电子计算机进行各种工作 , 就需要有一套用以编写计算机程序的数字、字符和语法规划 , 由这些字符和语法规则组成计算机各种指令(或各种语句)。这些就是计算机能接受的语言。
CPU运行的是二进制指令 , 所有的语言编写的程序最终都要翻译成二进制代码。越低级的语言 , 形式上越接近机器指令 , 汇编语言就是与机器指令一一对应的。而越高级的语言 , 一条语句对应的指令数越多,其中原因就是高级语言对底层操作进行了抽象和封装,使编写程序的过程更符合人类的思维习惯 , 并且极大了简化了人力劳动。也就是说用高级语言写一句 , 会被转换成许多底层操作 , 大部分的工作交给了负责转换的机器(即编译器)从而人力得到了解放。
语言越高级 , 越接近人类的自然语言和数学语言 , 越低级则越能让机器理解 , 高级语言和低级语言之间需要的一个转换的工具 : 编译器、解释器 , 例如 C、C++ 等语言的源代码需要本地编译 , 而 Java、Python、C# 的源代码需要被解释器编译成中间代码 , 在虚拟机上运行。
高级语言
高级语言(
high-level programming language)是高度封装了的编程语言低级语言相对。它是以人类的日常语言为基础的一种编程语言 , 使用一般人易于接受的文字来表示(例如汉字、不规则英文或其他外语)从而使程序编写员编写更容易有较高的可读性 , 以方便对电脑认知较浅的人亦可以大概明白其内容。
低级语言
低级语言分机器语言(二进制语言)和汇编语言(符号语言)这两种语言都是面向机器的语言 , 和具体机器的指令系统密切相关。机器语言用指令代码编写程序 , 而符号语言用指令助记符来编写程序。
机器语言
机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指指令系统令的集合。
汇编语言
汇编语言的主体是汇编指令。汇编指令和机器指令的差别在于指令的表示方法上 , 汇编指令是机器指令便于记忆的书写格式。

2. Python运行原理
2.1 Python解释器
Python 通常被描述为一种解释语言 , 在这种语言中 , 你的源代码在程序运行时被翻译成 CPU 指令 , 但这只是说对了部分。和许多解释型语言一样 , Python 实际上将源代码编译为虚拟机的一组指令 , Python 解释器就是该虚拟机的实现。其中这种中间格式称为“字节码”。
因此 , Python 留下的这些.pyc文件 , 是为了让运行的速快变得 “更快” , 或者是针对你的源代码的”优化“的版本;它们是 Python 虚拟机上运行的字节码指令。
Python解释器执行Python代码的时候 , 经历如下几个阶段:
加载代码文件
翻译成
AST(语法分析所获得的中间结果)生成
bytecode在
PVM(python virtual machine)上执行byecode,PVM实际是一个基于栈的虚拟机
2.2 Python字节码
Python 字节码就像是你的 Python 代码与计算机硬件之间的中介。当你编写 Python 代码并运行时 , 解释器首先将你的代码翻译成字节码。这种字节码是你代码的低级表示 , 但它仍然不是计算机处理器可以直接理解的东西。这种设计使 Python 代码可以在不同类型的硬件和操作系统上运行 , 而无需针对每个平台重新编写。
这就是 Python虚拟机 (PVM) 的作用。PVM就像一个专门设计用来运行字节码的特殊引擎。它逐条读取字节码指令并执行 , 从而使你的Python程序生动起来。
2.3 Python虚拟机
PVM 是 Python Virtual Machine 的简称 , 是执行字节码的环境。它像是一个模拟的计算机环境 , 提供了运行 Python 程序所需的所有资源和功能。虚拟机通过解释字节码来执行程序 , 它可以处理异常、管理内存以及执行各种计算和操作。
虚拟机的存在使得 Python 程序不直接依赖于物理硬件 , 这使得 Python 在不同平台上运行时具有很高的灵活性和适应性。
一旦程序被编译为字节码(或字节码从现有的 .py 文件中加载) , 它就被发送到名为 Python 虚拟机(就是你们常说的首字母缩写 PVM)的东东中被执行。PVM 其实言过其实了;真的 , 它不是一个独立的程序 , 并且它不需要独立安装。实际上 , PVM 只是一个大的代码循环 , 它迭代字节码指令 , 逐句执行指令的操作。PVM 是 Python 的运行时引擎;它总是作为 Python 系统的一部分出现 , 而且它是真正运行脚本的组件。技术上讲 , 它只是被称作”Python 解释器 “的最后一步。

参考链接
Python字节码编译以及PVM - otowa - 博客园