首页 > 编程语言 >编程语言和Python语言介绍

编程语言和Python语言介绍

时间:2024-05-08 14:57:27浏览次数:25  
标签:解释器 语言 编程语言 Python 编译 机器语言 执行

编程语言和Python语言介绍

一、【编程语言介绍】

【1】机器语言

(1)机器语言是什么

  • 机器语言就是计算机可以理解的语言,可以直接通过机器语言操作我们的硬件
  • 计算机是基于电工作的,高频是0,低频是1
  • 计算机通过控制高低频变化来工作

(2)机器指令

  • 通过制高低电频的变化组成一系列的指令就叫机器指令,能直接控制计算

(3)如何写机器指令

  • 首要的就是记住计算机的全部指令代码和核心代码的含义
  • 在编写程序时要时刻注意,走错一步就前功尽弃,所以这是一项很费神的工作

(4)机器语言的示例

  • 机器语言的记忆就像摩斯密码一样
'''指令部份的示例'''
 0000 代表 加载(LOAD)
 0001 代表 存储(STORE)
 ...
 
LOAD 0000  # 加载寄存器A
STORE 0001 # 存储到寄存器B

'''暂存器部份的示例'''
0000 代表暂存器 A 
0001 代表暂存器 B 
...

'''存储器部份的示例'''
000000000000 代表地址为 0 的存储器
000000000001 代表地址为 1 的存储器 
000000010000 代表地址为 16 的存储器
100000000000 代表地址为 2^11 的存储器

(5)机器语言的优缺点

  • 优点
    • 执行效率高(无障碍理解、直接运行)
  • 缺点
    • 开发效率低
    • 跨平台性差
    • 耗费的精力大(需要记忆大量指令代码)

【2】汇编语言

(1)什么是汇编语言

  • 汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。

(2)汇编语言的优缺点

  • 优点
    • 执行效率高(英文缩写编写程序较简单)
    • 执行速度快
    • 操作灵活
  • 缺点
    • 开发效率低
    • 跨平台性差
    • 程序编写很复杂,容易出错

【3】高级语言

(1)什么是高级语言

  • 用人类的语言是在向操作系统发送指令,而非直接操作硬件

  • 无需考虑硬件细节

  • 但正因为高级语言离硬件较远,更贴近人类语言,执行效率相对较低。

(2)高级语言的分类

  • 高级语言可分为:
    • 编译型语言
      • C、C++、C#、JAVA
    • 解释型语言
      • Python、Go、PHP

(3)什么是编译型语言

[1]编译型

  • 编译型语言将源码一次性翻译成目标代码,然后生成可执行文件。
  • 修改源码后,需要重新编译整个程序。反之则不用,可直接执行翻译过来的的文件

[2]例子

  • 编译型语言就像是你拿到一篇英文文章,不是逐段翻译,而是交给翻译软件,整篇文章进行翻译
    • 如果中间某段话出错被修改,再次拿到文章也是进行整段文章翻译

[3]优点

  • 执行效率高(编译过一次,下次可直接用)

[4]缺点

  • 开发效率低
    • 程序一旦修改,必须先修改源码,然后重新编译、生成新的目标文件才能执行
  • 跨平台性差

(4)什么是解释型语言

[1]解释型

  • 解释型语言是逐句翻译源码,在进行逐句执行,就是翻译到哪里执行到哪里
  • 修改源代码后,不需要重新编译整个程序,直接执行即可。

[2]例子

  • 编译型语言就像是你拿到一篇英文文章,不是整篇文章翻译,而是交给翻译软件,逐句进行翻译

[3]优点

  • 开发效率高
    • 不需要改动后再编译
  • 跨平台性强

[4]缺点

  • 执行效率低

(5)小结

  • 综上选择不同编程语言来开发应用程序对比
    • 执行效率:机器语言>汇编语言>高级语言(编译型>解释型)
    • 开发效率:机器语言<汇编语言<高级语言(编译型<解释型)
    • 跨平台性:机器语言<汇编语言<高级语言(编译型<解释型)

二、【Python语言介绍】

【一】Python引入

  • 谈及Python,涉及两层意思
    • 一层代表的是Python这门语言的语法风格
    • 另外一层代表的则是专门用来解释该语法风格的应用程序:python解释器。

【二】Python创始

  • Python的创始人为吉多·范罗苏姆(Guido van Rossum)。

  • Python这个名字,来自Guido所挚爱的电视剧《Monty Python’s Flying Circus》,他希望这个新的叫做Python的语言,能符合他的理想:

    • 创造一种C和shell之间,语法能够像shell一样简洁,易学易用、可拓展性强,同时兼顾C的强大功能。

  • Python可以应用于众多领域
    • 人工智能、数据分析、爬虫、金融量化、云计算、WEB开发、自动化运维/测试、游戏开发、网络服务、图像处理等众多领域。
    • Python可从事方向
  • 目前业内几乎所有大中型互联网企业都在使用Python
    • Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。

【三】Python发展史

  • Python 2.7

  • Python 3.6 - 2016-12-23 发布python3.6.0版

  • 2020年: Python 2正式结束支持,用户被鼓励转向Python 3。

  • 2020年之后: Python社区继续推动Python 3的普及,许多库和框架逐渐停止对Python 2的支持。

  • 2020年: Python 3.8发布,带来了一些新的语言特性和性能改进。

  • 2021年: Python 3.9发布,引入了一些新的语法和模块。

  • 2022年: Python 3.10发布,继续改进语言的功能和性能。

  • 2023年: Python继续在各个领域取得成功,成为数据科学、人工智能和Web开发等领域的首选语言之一。社区和生态系统不断扩大,新的库和框架涌现

【四】Python解释器的种类

(1)CPython

  • 官方的Python解释器本质就是基于C语言开发的一个软件,该软件的功能就是读取以.py结尾的文件内容,然后按照Guido定义好的语法和规则去翻译并执行相应的代码。
  • 这种用C实现的解释器称为CPython,它是python领域性能最好,应用最广泛的一款解释器,我们在后面提到的解释器指的都是Cpython解释器。
  • 但其实解释器作为一款应用软件,完全可以采用其他语言来开发,只要能解释python这门语言的语法即可。
  • Python解释器的一些种类如下,简单了解即可

(2)Jython

  • JPython解释器是用JAVA编写的python解释器,可以直接把Python代码编译成Java字节码并执行,它不但使基于java的项目之上嵌入python脚本成为可能,同时也可以将java程序引入到python程序之中。

(3)IPython

  • IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。
  • 这就好比很多国产浏览器虽然外观不同,但内核其实都是调用了IE。
  • CPython用>>>作为提示符,而IPython用In [序号]:作为提示符。

(4)PyPy

  • PyPy是Python开发者为了更好地Hack Python而用Python语言实现的Python解释器。
  • PyPy提供了JIT编译器和沙盒功能,对Python代码进行动态编译(注意不是解释),因此运行速度比CPython还要快。

(5)IronPython

  • IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。

标签:解释器,语言,编程语言,Python,编译,机器语言,执行
From: https://www.cnblogs.com/ligo6/p/18179726

相关文章

  • [转]Linux安装conda(python的版本管理工具)
    原文地址:Linux安装conda-知乎Conda的安装与使用在服务器上使用Linux命令行安装Conda(Conda可以理解类似于应用商店或是mac里的AappStore。可以在conda里面安装软件,或者在conda之外安装),使用conda管理小环境和使用conda管理软件,用conda来安装和管理生信软件以及环境比较方便。......
  • python logger 打印日志错误行数
    pythonlogger打印日志错误行数importloggingapp=Flask(__name__)#配置日志handler=logging.FileHandler('app.log')#日志输出到文件handler.setLevel(logging.INFO)#设置日志级别formatter=logging.Formatter('%(asctime)s-%(name)s-%(levelname)......
  • python教程6.4-excel处理模块
    第三方开源模块安装 创建文件打开已有文件写数据选择表保存表遍历表按行遍历按列遍历遍历指定行列遍历指定第几列数据删除表设置单元格样式字体对齐设置行高列宽 ......
  • 2024-05-08:用go语言,给定一个由正整数组成的数组 nums, 找出数组中频率最高的元素, 然后
    2024-05-08:用go语言,给定一个由正整数组成的数组nums,找出数组中频率最高的元素,然后计算该元素在数组中出现的总次数。输入:nums=[1,2,2,3,1,4]。输出:4。答案2024-05-08:chatgpt题目来自leetcode3005。大体步骤如下:1.创建一个空的字典cnt用于存储每个元素的出现次数。2......
  • python+selenium+excel自动登录,自动填写网页
    经常有些网页要登录,然后频繁填写一些重复的内容,本文暂只考虑不需要验证码的情况,可以通过selenium模拟用户行为在页面操作,用excel拖出相似内容,用xlrd读取并填写到网页中。导入相关包fromseleniumimportwebdriverimportosimportxlrdimportxlwtimportjsonimportreq......
  • 【攻防技术系列+Python】-- 将Python脚本转化为exe文件
    将Python脚本转化为exe文件到目前为止,我们已经介绍了一个远程控制程序所有常用功能的实现、但是实现的脚本在执行时需要Python环境和模块文件的支持,而目标设备上往往不具备这种条件。如果将使用Python编写的远程控制程序变成在Windows中可以执行的exe文件,就可以解决这个问题......
  • 【攻防技术系列+Python】-- 用 Python 控制系统进程
    用Python控制系统进程由于注册表几乎可以决定整个操作系统的运行,因此它成为安全工具与恶意软件对抗的主要战场之一。除了注册表之外,对系统进程的控制也是安全工具和恶意软件的必争之地。这里我们首先要了解程序和进程的区别。程序是静态的,进程是动态的。进程可以分为系统进程......
  • python教程6.3-json序列化
    序列化:dumps,编码,将python类型转成json对象反序列化:loads,解码,将json对象转成python对象pickle模块提供了四个功能:dumps、loads、dump、load(前2个操作变量,后2个操作文件)jsonjson模块也提供了四个功能:dumps、dump、loads、load,⽤法跟pickle⼀致。(前2个操作变量,后2个操作文件)......
  • C语言,实现数字谱到简谱的转换(二)
    C语言,实现数字谱到简谱的转换(二)前言:本文初编辑于2024年5月8日CSDN:https://blog.csdn.net/rvdgdsva博客园:https://www.cnblogs.com/hassle前言结合前文https://blog.csdn.net/rvdgdsva/article/details/138285230使用之前的程序默认C调4/4拍,自己用的很难受,很多时候还是需要......
  • python教程6.3-time模块datetime模块
     time模块有下面几种表示形式:1、时间戳(timestamp),表示的是从1970年1⽉1⽇00:00:00开始按秒计算的偏移量。例⼦:1554864776.1619012、格式化的时间字符串,⽐如“2020-10-0317:54”3、元组(struct_time)共九个元素。由于Python的time模块实现主要调⽤C库,所以各个平台可能有所不......