编程语言与Python介绍
一、编程语言的分类
1. 计算机语言的发展为三个阶段
1.1 机器语言
计算机存储数据格式原理:
计算机的工作需要基于电,而电信号只有高低电频两种状态。将高低电频命名为0和1(也就意味着计算机只识别0和1的二进制数)所以计算机才能识别诸多信息,原因是使用了二进制数进行排列组合
存储单位:
二进制数使用比特位(bit)表示:一位二进制等于一比特位 ,0 = 1 bit ,01 = 2bit , 101 = 3bit
单位换算:
- 8个比特位为1bytes字节
- 8bit = 1bytes(字节)
- 1024bytes = 1KB
- 1024KB = 1MB
- 1MB= 1TB
- 1TB= 1P
所以机器语言就是直接用二进制编程,这意味着机器语言是直接操作硬件的,因此机器语言属于低级语言,此处的低级指的是底层、贴近计算机硬件(贴近代指需要详细了解计算机硬件细节、直接控制硬件)
用二进制代码0和1描述的指令称为机器指令,由于计算机内部是基于二进制指令工作的,所以机器语言是直接控制计算机硬件,目前二进制只有计算机可以识别,对于人类来说机器语言不便于记忆和识别,学习难度较大,但是执行速度很快,
总结机器语言
1、执行效率最高 : 编写的程序可以被计算机无障碍理解、直接运行,执行效率高。
2、开发效率最低 : 复杂,开发效率低
3、跨平台性差 : 贴近/依赖具体的硬件,跨平台性差
1.2 汇编语言
汇编语言仅仅是用一个英文标签代表一组二进制指令,比起机器语言,汇编语言是一种进步,但汇编语言的本质仍然是直接操作硬件,因此汇编语言仍是比较低级/底层的语言、贴近计算机硬件
汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。它同样需要编程者将每一步具体的操作用命令的形式写出来。汇编程序的每一句指令只能对应实际操作过程中的一个很细微的动作。
例如移动、自增,因此汇编源程序一般比较冗长、复杂、容易出错,而且使用汇编语言编程需要有更多的计算机专业知识,但汇编语言的优点也是显而易见的,用汇编语言所能完成的操作不是一般高级语言所能够实现的,而且源程序经汇编生成的可执行文件不仅比较小,而且执行速度很快。
总结汇编语言:
1、执行效率高 : 相对于机器语言,使用英文标签编写程序相对简单,执行效率高,但较之机器语言稍低,
2、开发效率低 : 仍然是直接操作硬件,比起机器语言来说,复杂度稍低,但依旧居高不下,所以开发效率依旧较低
3、跨平台性差 : 同样依赖具体的硬件,跨平台性差
1.3 高级语言
高级语言是与操作系统打交道的,此处的高级指的是高层、开发者无需考虑硬件细节,因而开发效率可以得到极大的提升,但正因为高级语言离硬件较远,更贴近人类语言,人类可以理解,而计算机则需要通过翻译才能理解,所以执行效率会低于低级语言。
按照翻译的方式的不同,高级语言又分为两种:
1.3.1 编译型(如C语言):
类似谷歌翻译,是把程序所有代码编译成计算机能识别的二进制指令,之后操作系统会拿着编译好的二进制指令直接操作硬件,详细如下
1、执行效率高 : 编译是指在应用源程序执行之前,就将程序源代码“翻译”成目标代码(即机器语言), 因此其目标程序可以脱离其语言环境独立执行,使用比较方便,执行效率较高。
2、开发效率低 : 应用程序一旦需要修改,必须先修改源代码,然后重新编译、生成新的目标文件才能执行, 而在只有目标文件而没有源代码,修改会很不方便。所以开发效率低于解释型
3、跨平台性差 : 编译型代码是针对某一个平台翻译的,当前平台翻译的结果无法拿到不同的平台使用,针对不同的平台必须重新编译,即跨平台性差
其他 :
现在大多数的编程语言都是编译型的。 编译程序将源程序翻译成目标程序后保存在另一个文件中,该目标程序可脱离编译程序直接在计算机上多次运行。 大多数软件产品都是以目标程序形式发行给用户的,不仅便于直接运行,同时又使他人难于盗用其中的技术。
C、C++、Ada、Pascal都是编译实现的
1.3.2 解释型(如python):
类似同声翻译,需要有一个解释器,解释器会读取程序代码,一边翻译一边执行,详细如下
1、执行效率低 : 解释型语言的实现中,翻译器并不产生目标机器代码,而是产生易于执行的中间代码。 这种中间代码与机器代码是不同的,中间代码的解释是由软件支持的,不能直接使用硬件, 软件解释器通常会导致执行效率较低。
2、开发效率高 : 用解释型语言编写的程序是由另一个可以理解中间代码的解释程序执行的,与编译程序不同的是, 解释程序的任务是逐一将源程序的语句解释成可执行的机器指令,不需要将源程序翻译成目标代码再执行。 解释程序的优点是当语句出现语法错误时,可以立即引起程序员的注意,而程序员在程序开发期间就能进行校正。
3、跨平台性强 : 代码运行是依赖于解释器,不同平台有对应版本的解释器,所以解释型的跨平台性强
其他 :
对于解释型Basic语言,需要一个专门的解释器解释执行Basic程序,每条语句只有在执行时才被翻译, 这种解释型语言每执行一次就翻译一次,因而效率低下。一般地,动态语言都是解释型的, 例如:Tcl、Perl、Ruby、VBScript、JavaScript等
ps:混合型语言
Java是一类特殊的编程语言,Java程序也需要编译,但是却没有直接编译为机器语言,而是编译为字节码, 然后在Java虚拟机上以解释方式执行字节码。
1.4 总结
综上选择不同编程语言来开发应用程序对比
1、执行效率:机器语言>汇编语言>高级语言(编译型>解释型)
2、开发效率:机器语言<汇编语言<高级语言(编译型<解释型)
3、跨平台性:解释型具有极强的跨平台型
二、python介绍
python的创始人为吉多·范罗苏姆(Guido van Rossum)。Python这个名字,来自Guido所挚爱的电视剧Monty Python’s Flying Circus,他希望这个新的叫做Python的语言,能符合他的理想:创造一种C和shell之间,语法能够像shell一样简洁,易学易用、可拓展性强,同时兼顾C的强大功能。于是Guido在1989年的圣诞节期间,开始编写能够解释Python语言语法的解释器。
Python崇尚优美、清晰、简单,是一个优秀并广泛使用的语言。最新的TIOBE排行榜https://www.tiobe.com/tiobe-index/,Python已飙升至世界第三。
Python可以应用于众多领域,如:
- 人工智能
- 数据分析
- 爬虫
- 金融量化
- 云计算
- WEB开发
- 自动化运维/测试
- 游戏开发
- 网络服务
- 图像处理
- 等众多领域。
目前业内几乎所有大中型互联网企业都在使用Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。
1.Python解释器有哪些种类?
官方的Python解释器本质就是基于C语言开发的一个软件,该软件的功能就是读取以.py结尾的文件内容,然后按照Guido定义好的语法和规则去翻译并执行相应的代码。这种用C实现的解释器称为CPython,它是python领域性能最好,应用最广泛的一款解释器,我们在后面提到的解释器指的都是Cpython解释器。但其实解释器作为一款应用软件,完全可以采用其他语言来开发,只要能解释python这门语言的语法即可。Python解释器的一些种类如下,简单了解即可
- Jython
JPython解释器是用JAVA编写的python解释器,可以直接把Python代码编译成Java字节码并执行,它不但使基于java的项目之上嵌入python脚本成为可能,同时也可以将java程序引入到python程序之中。
- IPython
IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。这就好比很多国产浏览器虽然外观不同,但内核其实都是调用了IE。 CPython用>>>作为提示符,而IPython用In [序号]:作为提示符。
- PyPy
PyPy是Python开发者为了更好地Hack Python而用Python语言实现的Python解释器。PyPy提供了JIT编译器和沙盒功能,对Python代码进行动态编译(注意不是解释),因此运行速度比CPython还要快。
- IronPython
IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。
三、安装Cpython解释器
Python解释器目前已支持所有主流操作系统,在Linux,Unix,Mac系统上自带Python解释器,在Windows系统上需要安装一下,具体步骤如下。
1.下载python解释器
打开官网 https://www.python.org,按提示下载即可
1.1python解释器版本
创作者:龟叔
在公司不可建议使用与老版本不匹配的开发语言版本,后期出现问题会很麻烦
建议使用版本3.6,相对来说比较稳定,新出的版本不建议使用不是很稳定
还有不少企业使用的是2.7 版本,所以尽量电脑内装多版本python语言
解释器的下载与安装
安装之前如果已经安装了相同版本的解释器,要提前卸载,在安装,防止冲突安装步骤:Python安装教程-史上最全_壬杰的博客-CSDN博客
激活的话需要自己去公众号翻激活码,或者淘宝上看看
( python中的Scripts文件夹里面有pip文件是用来装插件用的)
插图:下载解释器1
插图:下载解释器2
插图:下载解释器3
插图:安装解释器1
插图:安装解释器2
一直下一步点下去即可完成安装
1.2测试安装是否成功
:::tips
- ** 基本使用:**
windows系统如何呼起cmd窗口, windows + R => 输入cmd即可 - 如何切换盘符:D:
- 如何切换路径:cd 路径名称
- 进入python环境: 执行 python.exe
- 退出python解释器:exit()
** 路径**
1. 什么是路径:其实就是数据存储的位置
2. 什么是相对路径:是需要参照物, 根据参照物可以大概分析出具体位置
3. 什么是绝对路径:有实际的地址名和路径直达目标
** 环境变量
其实就是一个公共的仓库
原理:Windows系统找文件的顺序是:先在当前路径下查找,如果查找不到,就去环境变量中查找,从上往下依次查找,如果,在某一个路径下找到,就不再往下找。
配置步骤:**
1. 右键此电脑,点击属性,高级系统设置,环境变量,Path选项、
2.基本使用-路径-环境变量
:::
1.3多版本共存
- 多版本共存
1、多版本共存就是在一台设备中同时安装多个版本的python语言,但是不同安装相同版本的会出现兼容问题。
例如,你在学习中一直用的是python3.6,你工作了公司用的是python2.7,那么此时你在用3.6的版本就会出问题,因为人家的功能都是用2.7 实现的你这边用3.6就会出问题,代码上会不兼容版本
2、只能装多个版本一定要吧python的exe文件改个名字并且做好环境变量,方便切换
四、第一个python程序
1.运行python程序有两种方式
方式一: 交互式模式
插图:交互式环境测试
方式二:脚本文件
1、打开一个文本编辑工具,写入下述代码,并保存文件,此处文件的路径为D:\test.py。强调:python解释器执行程序是解释执行,解释的根本就是打开文件读内容,因此文件的后缀名没有硬性限制,但通常定义为.py结尾 print('hello world')
2、打开cmd,运行命令,如下图
插图:脚本文件测试
总结:
1、交互式模式下可以即时得到代码执行结果,调试程序十分方便
2、若想将代码永久保存下来,则必须将代码写入文件中
3、我们以后主要就是在代码写入文件中,偶尔需要打开交互式模式调试某段代码、验证结果
2.注释
2.1什么是注释:
2.2为什么要注释 :
2.3怎么用注释 :
代码注释分单行和多行注释
2.3.1单行注释:
句法 : # 注释内容
以#开头注释就是当你注释掉一行代码之后,程序就不会执行你注释的掉代码,直接会跳过你注释的那行代码
2.3.2 块注释()
以三个'''或"""开始,以三个'''或"""结尾
句式:"""注释内容"""或者'''注释内容'''
代码注释的原则:不用全部加注释,只需要为自己觉得重要或不好理解的部分加注释即可,主要用来做备注或者做解释代码用的,当然你注释掉的代码也是不执行的
注释快捷键:快捷键:选中行(只要覆盖住对应的行)按control + /
3.行与缩进
3.1缩进
(1)python最具特色的就是使用缩进来表示代码块,不需要使用大括号({})
(2)缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数
(3)以下代码最后一行语句缩进数的空格数不一致,会导致运行错误
3.2多行语句
python通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠\来实现多行语句换行展示(直接按回车就可以实现)
3.3空行
(1)函数之间或类的方法之间用空行分隔,表示一段新的代码开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始
(2)空行与代码缩进不同,空行并不是python语法的一部分。书写时不插入空行,python解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构
注意:空行也是程序代码的一部分
五、IDE工具pycharm的使用
1.什么是IDE?为何要有IDE
问题一:我们了解到一个python程序从开发到运行需要操作至少两个软件
- 打开一个软件:文本编辑器,创建文本来编写程序
- 打开cmd,然后输入命令执行pyton程序
综上,如果能有一款工具能够集成n个软件的功能,同时又代码提示以及纠错等功能,那么将会极大地提升程序员的开发效率,这就是IDE的由来,IDE全称Integrated Development Environment,即集成开发环境,最好的开发Python程序的IDE就是PyCharm。
2.pycharm安装
安装完成后注册,然后启动,会让你先创建一个项目,其实就是一个文件夹,我们以后的代码都存在这里面。
插图:Pycharm创建项目
3.Pycharm创建文件夹
4.如何创建文件并编写程序执行
创建py文件test.py
在test.py中写代码,输入关键字的开头可以用tab键补全后续,并且会有代码的错误提示
插图:Pycharm执行文件