Python解释器相关初步介绍
一 编程语言介绍
1.机器语言:
直接能用计算机理解的二进制指令编写程序,直接控制硬件。
2.汇编语言:
用英文标签取代二进制指令去编写程序。本质也是在控制硬件。
3.高级语言:
用人能理解的表达方式去编写程序,无需考虑硬件的操作细节
3.1编译型
运行前进行专门的翻译过程,把文件翻译成机器语言,运行时无需重新翻译(类似一本外语书,全部翻译成国语后,再出版给读者阅读)
3.2解释型
相比于编译型,无需预先翻译,以文本方式存储代码,运行时先解释后运行(类似两位不通语言的人想进行交流,有一位翻译员在旁,直接把一 方的言语,逐句翻译给另一方)
执行效率:机器语言》汇编语言》高级语言(编译型》解释型)
开发效率:机器语言《汇编语言《高级语言(编译型《解释型)
跨平台性:机器语言《汇编语言《高级语言(编译型《解释型)
二. Python解释器
python解释器本身可以看做是一款由不同语言开发的程序,所以有不同的解释器,有各自不同的特点,但是都能对运行Python代码,并翻译。(有CPython,JPython,IPython等,在计算机命令行启动Python,就是启动Python解释器
注:其实Python包括解释器和语法,但是很多时候所说的Python其实就是Python解释器(例如网上说的Python发展史其实就是Python解释器的发展史)。
三 .执行Python程序的两种方式
1.交互式:即使得到命令的执行结果,通常可以用来调试代码
2.命令行:Python 路径\文件名
2.1 注意:后缀名并不影响程序的运行,但是约定俗称是.py结尾
例如:.txt结尾依然可以执行程序
2.2 运行Python的三个阶段
2.2.1 先启动Python解释器
2.2.2 Python解释器将文件的内容当成文本内容读入内存(此时的 Python解释器好像是一个文本编辑器)
2.2.3 python解释器解释执行刚刚读入的内存代码
四.变量
1.什么是变量
量指的是记录事物的状态
变指的是事物的状态是可以改变的
2.为什么要用变量
为了让计算机具备人记忆事物状态的技能
3.怎么使用变量
3.1 先定义
定义由三大组成部分组成
变量名:变量名应该能反映出事物的属性
=:赋值符,把变量值绑定给变量名
变量值:就是事物的状态
例如:age=18(age是变量名,18就是变量值)
3.2 后引用
通过变量名引用值
(变量名是访问到值的唯一方式!!!!)
3.3 变量名的命名
大前提:变量名应该见名知意
3.3.1 语法规定
1.变量名由字母、数字、下划线
2.不能以数字开头!!!!!
3.不能以Python的关键字命名
[and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,not,or,pass,print,raise,return,try,while,with,yield]
3.3.2 命名风格
纯小写加下划线(在Python中,变量名的命名推荐使用该方式)
例如:age_of_Mrbear=18
驼峰体(定义类的时候推荐使用该该方式)
AgeOfMrbear=18
3.4 常量
AGE_OF_MRBEAR=18
(约定俗成全用大写,表示常量,并不像C之类的语言有变量专门表示常量,在Python中是靠每位程序员的自觉遵守的规则)
3.5 变量值具备三种特征
id:变量值在内存中的唯一标识(根据内存地址计算而来, 内存地址不同则id不同,内存地址相同则id相同)
type:不同类型的值用来记录不同的状态
值
例如:print(id(age))#输出地址
print(type(age))#输出类型
print(age)#输出值
3.6 内存管理
3.6.1.垃圾回收机制:引用计数
引用计数增加
age=18 #18的引用计数为1
x=18 #18的引用计数为2
引用计数减少
del age #18的引用计数为1
x=10 #18的引用计数为0
定期扫描后发现18的引用计数为0,则意味着18没有被使用了 ,将其内存释放
3.6.2. 分代垃圾回收
3.6.3. 标记清除