一、编程语言介绍
分类:
机器语言
汇编语言
高级语言(编译型、解释型号)机器语言:机器语言就是直接用二进制编程,这意味着机器语言是直接操作硬件的,因此机器语言属于低级语言,此处的低级指的是底层、贴近计算机硬件
汇编语言:汇编语言仅仅是用一个英文标签代表一组二进制指令,毫无疑问,比起机器语言,汇编语言是一种进步,但汇编语言的本质仍然是直接操作硬件,因此汇编语言仍是比较低级/底层的语言、贴近计算机硬件
高级语言
计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序。
翻译的方式有两种,一个是编译,一个是解释。两种方式只是翻译的时间不同。
解释性语言的定义:
解释性语言的程序不需要编译,在运行程序的时候才翻译,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就需要逐行翻译一次,执行效率比较低。(一边翻译一边执行)
现代解释性语言通常把源程序编译成中间代码,然后用解释器把中间代码一条条翻译成目标机器代码,一条条执行。
(1)源代码不能直接翻译成机器语言,而是先翻译成中间代码,再由解释器对中间代码进行解释运行;(源代码—>中间代码—>机器语言)
(2)程序不需要编译,程序在运行时才翻译成机器语言,每执行一次都要翻译一次;
(3)解释性语言代表:Python、JavaScript、Shell、Ruby、MATLAB等;
(4)运行效率一般相对比较低,依赖解释器,跨平台性好;
编译性语言的定义:
编译性语言写的程序在被执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高。
(1)只须编译一次就可以把源代码编译成机器语言,后面的执行无须重新编译,直接使用之前的编译结果就可以;因此其执行的效率比较高;
(2)编译性语言代表:C、C++、Pascal/Object Pascal(Delphi);
(3)程序执行效率比较高,但比较依赖编译器,因此跨平台性差一些;
总结:
#1、执行效率:机器语言>汇编语言>高级语言(编译型>解释型)
#2、开发效率:机器语言<汇编语言<高级语言(编译型<解释型)
#3、跨平台性:解释型具有极强的跨平台型
二、python介绍
python语言:指的是python的语法风格
python解释器:专门用来识别python这门语言语法解释执行的解释器
1、设置环境变量
linux:
vim /etc/profile
PATH=$PATH:/usr/local/python38:/usr/local/python38
export PATH
2、运行python程序的两种方式
1、交互式
即时得到程序的运行结果,多用于调试
2、脚本的方式
把程序写到文件里(约定俗称文件名后缀为.py),然后用python解释器解释执行其中的内容
python3.8 python程序文件的路径
3、一个python应用程序的运行的三个步骤(******)
python3.8 C:\a\b\c.py 执行python程序经历三个步骤
1、先启动python3.8解释器,此时相当于启动了一个文本编辑器
2、解释器会发送系统调用,把c.py的内容从硬盘读入内存,此时c.py中的内容
全部为普通字符,没有任何语法意义
3、解释器开始解释执行刚刚读入内存的c.py的代码,开始识别python语法
对比文本编辑器读取C:\a\b\c.py文件内容也经历了三个步骤
1、先启动文本编辑器
2、文本编辑器会发送系统调用,把c.py的内容从硬盘读入内存
3、文本编辑会将刚刚读入内存的内容控制输出到屏幕上,让用户看到结果
总结:
二者在前两个阶段做的事情完全一致
唯一不同的就是第三个阶段对读入内存的python代码的处理方式不同
4、注释(代码之母)1.注释是对关键代码的解释说明
2.被注释的代码不会被执行
单行注释:#
# 这是一行xxx的代码
print("hello") # 这是一行xxx的代码
多行注释:'''''' """"""
"""
笔记
"""