1、编程语言的发展史:计算机是基于高低电频工作的。
1)机器语言—使用二进制编程,直接控制计算机硬件,需要掌握硬件的操作细节
优点:执行效率高
缺点:开发效率低
2)汇编语言—使用英文标签取代二进制指令去进行编程。
执行效率相较于机器语言略低,开发效率相较于机器语言略高,但是任然没有改变直接操作硬件的本质。
3)高级语言—使用人的语言去进行编程,不需要再掌握计算机硬件的操作细节
a.编译型(c、c++、go)—类似于谷歌翻译,经过一次翻译,以后可以一直拿着翻译结果使用。
优点:执行效率高于解释型
缺点:开发效率低于解释型
b.解释型(python、java)—相当于同声传译,翻译官相当于解释器
优点:开发效率高于编译型
缺点:执行效率低于编译型
执行效率由高到低:机器语言》汇编语言》编译型语言》解释型语言
开发效率由高到低:解释型语言》编译型语言》汇编语言》机器语言
跨平台:解释型》编译型
学习难度:机器语言》汇编语言》高级语言
2.Python解释器
IT行业定律:一定不要下载最新版本,因为最新版本通常会带有一些还没被修复的BUG。
目前Python的解释器主要分为Python2.x和Python3.x,我们以后使用的基本都是3.x,2020年之后2.x讲不在提供服务。
Python执行代码的两种方式:
1)交互型:优点是输入一行代码立马返回结果,缺点是代码无法保存。
2)命令行执行:优点是以文件的形式将代码保存下来,以后可以一直使用。
运行Python程序是不考虑文件后缀名的,但约定俗称,应该将Python的文件后缀名命名为.py。
运行Python程序的步骤:首先要运行Python解释器,再将Python程序当中的普通文本文件读入内存(此时没有语法概念),最后Python解释器执行刚刚读入内存的代码,开始识别Python的语法。
Python还是一种胶水语言,他能与其他如C、GO等共同使用。
我们一般使用Pycharm这种IDE工具来编写Python代码,它一方面有利于我们提升开发效率,另一方面则比较占用内存,但当今时代的计算机硬件的发展完全可以忽略它的这个缺点。
程序员在编写代码的时候一定要加上注释,注释是代码之母,加上注释可以让同事更快的看懂你所写的代码,提高工作效率。
注释一般分单行注释多行注释,
单行注释再最前面加上#,
多行注释用三引号
'''
'''
3.变量
1.什么是变量,我们应把这个词拆开理解
量:衡量/记录现实世界中事物的某种状态。
变:记录的状态是可以发生改变的。
2.为何要变量?
是为了让计算机能够像人一样去记录现实世界中事物的状态,并且可以发生改变。
3.如何使用变量?
原则是必须先定义,后引用。
列如:age = 18
其中age是变量名,=是赋值符号,18是值
完整的变量是由变量名、赋值符号、变量值组成的。变量名是访问值得唯一方式,赋值符号是将值得内存 地址绑定给变量名,变量值是记录的状态。
变量的三大特性包括ID—内存地址,type—变量类型,value—值
变量名的命名规范:
1.只能由字母、数字、下划线组成
2.虽然可以执行,但是一定不要用中文
3.不能以数字开头
4.需要区分大小写
变量名的风格一般分驼峰体和下划线体,推荐使用下划线体。
驼峰体:UserAge = 18 下划线体:user_age = 18
print(UserAge) print(user_age)
4.常量
Python当中没有常量的概念,python程序员约定俗成将字母全部大写的变量定义为常量。
5.内存管理
Python解释器为了减少内存占用,其程序总存在有小整数池(-5~256的小整数)
列如:在CMD中运行如下两组代码
a = 256 b = 256 print(id(a)) print(id(b))
以上两个不同变量名相同变量值的变量所占用的内存位置是相同的。
a = 257 b = 257 print(id(a)) print(id(b))
以上两个不同变量名相同变量值的变量所占用的内存位置却不相同。
Pycharm中更是把整数池放大了无数倍。
6.垃圾回收机制(详见https://www.cnblogs.com/xiaoyuanqujing/articles/11640905.html)
垃圾回收机制是Python解释器自带的一种机制,专门用来回收不可用的变量值所占用的内存空间。
1、引用计数:当内存中的值引用计数为0,垃圾回收机制就会自动清除。
2、标记清除:当应用程序将内存撑满的时候,会自动停止,清除垃圾。
3、分代回收