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

编程语言和Python语言介绍

时间:2023-11-23 16:37:04浏览次数:56  
标签:语言 编程语言 Python 编译 跨平台 机器语言 执行

(一)编程语言和Python语言介绍

(1)编程语言的分类

(1)机器语言

  1. 什么是机器语言?

    • 机器语言是计算机可以理解的语言,是直接操作硬件的语言。就是计算机可以听懂的语言。

    • 由于计算机基于电工作,电频有高低电频之分,即高电频和低电频(0和1)

    • 计算机可以理解的就是二进制的指令(0/1),所有机器语言就是直接用二进制进行编程,就是机器语言是直接对硬件进行操作的。

    • 机器语言属于低级语言,需要深入了解计算机的硬件细节。

  2. 什么是机器指令

    • 机器指令是用二进制代码0/1描述的指令,直接控制计算机的硬件。
    • 计算机内容是基于二进制指令进行工作的,这使得机器语言成为直接与硬件交互的基础。
  3. 如何用机器语言编写程序

    • 编程人员要首先熟记所用计算机的全部指令代码以及代码的含义
    • 然后在编写程序时,程序员得自己处理每条指令和每一数据的存储分配和输入输出,还得记住编程过程中每步所使用的工作单元处在何种状态。
    • 这是一件十分繁琐的工作。编写程序花费的时间往往是实际运行时间的几十倍或几百倍。
    • 而且,编出的程序全是些0和1的指令代码,直观性差,不便阅读和书写,还容易出错,且依赖于具体的计算机硬件型号,局限性很大。
    • 除了计算机生产厂家的专业人员外,绝大多数的程序员已经不再去学习机器语言了。
  4. 机器语言的优缺点

    • 优点:执行效率最高。编写的程序可以直接被计算机无障碍理解、运行、执行效率高。
    • 缺点:开发效率低、跨平台性差、学习成本大。
  5. 存储单位

    • 单位换算公式:

      1024 bytes = 1 KB

      1024 KB = 1 MB

      1024 MB = 1 GB

      1024 GB = 1 TB

      1024 TB = 1 ZB

(2)汇编语言

  1. 什么是汇编语言

    • 汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。
    • 它同样需要编程者将每一步具体的操作用命令的形式写出来。
    • 汇编程序的每一句指令只能对应实际操作过程中的一个很细微的动作。
      • 例如移动、自增
    • 因此汇编源程序一般比较冗长、复杂、容易出错,而且使用汇编语言编程需要有更多的计算机专业知识。
  2. 汇编语言的优缺点

    • 优点:

      • 执行效率高:相对于机器语言,使用英文标签编写程序较为简单,执行效率高。

      • 操作灵活:能够完成一些高级语言难以实现的操作。

      • 可执行文件小:生成的可执行文件相对较小,执行速度快。

    • 缺点:

      • 开发效率低:仍然直接操作硬件,开发效率仍较低。
      • 复杂度高:源程序冗长、复杂,容易出错。
      • 跨平台性差:与机器语言一样,依赖具体硬件,跨平台性差。

(3)高级语言

  1. 什么是高级语言
    • 从人的角度出发,以人类可读的字符编写程序
      • 而人类的字符是在向操作系统发送指令,而非直接操作硬件,所以高级语言是与操作系统打交道的
      • 此处的高级指的是高层、开发者无需考虑硬件细节
    • 与低级语言相比,高级语言更贴近人类语言,使开发者无需考虑硬件细节,提高了开发效率。
    • 但正因为高级语言离硬件较远,更贴近人类语言,执行效率相对较低。
  • 高级语言人类可以理解,但是计算机需要通过翻译才能理解,所以执行效率低于低级语言。
  1. 高级语言的分类

    • 按照翻译方式的不同,高级语言又被分为:
      • 编译型语言
        • C、C++、C#、JAVA
      • 解释型语言
        • Python、Go、PHP
  2. 什么是编译型语言

编译型:

  • 编译型语言将整篇源程序一次性翻译成目标代码,然后生成可执行文件。
  • 修改源代码后,需要重新编译整个程序。虽然执行效率较高,但开发效率相对较低,跨平台性也较差。

类比:

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

优点:

  • 执行效率高
    • 编译是指在应用源程序执行之前,就将程序源代码“翻译”成目标代码(即机器语言)
    • 因此其目标程序可以脱离其语言环境独立执行,使用比较方便,执行效率较高。

缺点:

  • 开发效率低
    • 应用程序一旦需要修改,必须先修改源代码,然后重新编译、生成新的目标文件才能执行
    • 而在只有目标文件而没有源代码,修改会很不方便。
    • 所以开发效率低于解释型
  • 跨平台性差
    • 编译型代码是针对某一个平台翻译的,当前平台翻译的结果无法拿到不同的平台使用,针对不同的平台必须重新编译,即跨平台性差。
现在大多数的编程语言都是编译型的。
编译程序将源程序翻译成目标程序后保存在另一个文件中,该目标程序可脱离编译程序直接在计算机上多次运行。
大多数软件产品都是以目标程序形式发行给用户的,不仅便于直接运行,同时又使他人难于盗用其中的技术。
C、C++、Ada、Pascal都是编译实现的
  1. 什么是解释型语言

    解释型:

    • 解释型语言逐句翻译源程序成中间代码,由解释器逐句执行。
    • 修改源代码后,不需要重新编译整个程序,直接执行即可。
    • 执行效率较低,但开发效率高,且具有较强的跨平台性。

    类比:

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

    优点:

    • 开发效率高
      • 用解释型语言编写的程序是由另一个可以理解中间代码的解释程序执行的,与编译程序不同的是,解释程序的任务是逐一将源程序的语句解释成可执行的机器指令,不需要将源程序翻译成目标代码再执行。
      • 解释程序的优点是当语句出现语法错误时,可以立即引起程序员的注意,而程序员在程序开发期间就能进行校正。
    • 跨平台性强
      • 代码运行是依赖于解释器,不同平台有对应版本的解释器,所以解释型的跨平台性强

    缺点:

    • 执行效率低
      • 解释型语言的实现中,翻译器并不产生目标机器代码,而是产生易于执行的中间代码。
      • 这种中间代码与机器代码是不同的,中间代码的解释是由软件支持的,不能直接使用硬件, 软件解释器通常会导致执行效率较低。
  2. 小结

    • 综上选择不同编程语言来开发应用程序对比
      • 执行效率:机器语言>汇编语言>高级语言(编译型>解释型)
      • 开发效率:机器语言<汇编语言<高级语言(编译型<解释型)
      • 跨平台性:解释型具有极强的跨平台型
    • 由于我们开发是应用程序,而应用程序必须运行于某一个平台之上
    • 应用程序的快慢受限于平台(就好比F1赛车与宝马车同时跑在北京五环高速,都受限于道路环境,车速是差不多的)的快慢,并不是单从语言层面就可以提升整体执行效率的
    • 于是开发效率、跨平台性才是我们需要优先考虑的问题
    • 这就是我们首选Python的原因。

(2)Python语言介绍

(1)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可从事方向
  • 目前业内几乎所有大中型互联网企业都在使用Python
    • Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。

标签:语言,编程语言,Python,编译,跨平台,机器语言,执行
From: https://www.cnblogs.com/suyihang/p/17851859.html

相关文章

  • 编程语言分类
    【一】编程语言分类【1】机器语言①什么是机器语言机器语言是计算机可以理解的语言,可以直接操作硬件的语言。由于计算机基于电工作,电有高低电频之分,即高电频与低电频(0和1)。计算机能直接理解的就是二进制指令(0/1),所以机器语言就是直接用二进制编程,这意味着机器语言是直接操作......
  • python-task3:Data Types and Operators
    常见数据类型整数Integer(int)浮点数Float(python中默认为双精度浮点型)布尔值Boolean(bool)类型Type(“类型”也是种类型)其他数据类型字符串String(str)、列表List、元组Tuple、集合Set、字典Dictionary(dict,或者可以叫它映射map)、复数ComplexNumber(complex)、函数Func......
  • python-task4:Variables and Functions
    变量Variables以字母或下划线(_)开头(不可以以数字开头)以字母、数字、下划线组成大小写敏感(A与a不一样)需要避免使用保留字命名,以下代码可查询保留字importkeywordkeyword.kwlist对于变量,旧的值会覆盖新的值,而且python支持多变量赋值a=b=c=2print(f"a={a},b={b},c={c}"......
  • Python爬虫:如何抓取拉勾网职位信息
    随着互联网的发展,越来越多的求职者开始使用网络平台寻找工作机会。而对于企业来说,发布招聘信息也成为了一种重要的招聘方式。因此,抓取各大招聘网站上的职位信息成为了一项非常有用的工作。本文将介绍如何使用Python爬虫抓取拉勾网上的职位信息。1.确定需求首先,我们需要确定要抓取哪......
  • Python爬虫与人工智能:如何让机器学会自动抓取网络数据
    随着互联网的发展,网络数据变得越来越丰富。许多公司和组织需要从网络上获取大量的数据进行分析和研究,这时候就需要一种有效的方式来自动化抓取网络数据。Python爬虫和人工智能是两个强大的技术,结合起来可以让机器学会自动抓取网络数据。Python爬虫是指使用Python语言编写程序,模拟浏......
  • Python构思如何采集天气数据
    天气数据对于许多应用领域都非常重要,如旅游规划、农业生产、气象预测等。使用Python爬虫可以方便地从各种天气网站上获取实时的天气数据。本文将介绍如何使用Python爬虫实战来爬取天气数据,帮助您在自己的项目中快速获取天气信息。1.确定目标网站和URL首先,我们需要确定一个可靠的天......
  • 深入理解Python爬虫中的HTTP请求与响应过程
    在Python爬虫开发中,了解HTTP请求与响应的过程是非常重要的。HTTP(HypertextTransferProtocol)是一种用于传输超文本的应用层协议,通过HTTP协议,我们可以在网络上获取各种资源。本文将深入探讨Python爬虫中的HTTP请求与响应过程,帮助您更好地理解和应用Python爬虫技术。1.了解HTTP协议H......
  • python如何多版本共存
    1.先正常安装多个python版本,比如我电脑里面是安装的3.10以及3.122.安装的时候建议不要选择系统盘,可以用两个目录安装,例如:d:\py310\...d:\py312\...3.安装好了之后,可以通过命令提示符win+r输入wherepython可以查看到全部python的版本。4.分别打开python的安装目录,找......
  • Python 使用XlsxWriter操作Excel
    在数据处理和报告生成的领域中,Excel文件一直是广泛使用的标准格式。为了让Python开发者能够轻松创建和修改Excel文件,XlsxWriter库应运而生。XlsxWriter是一个功能强大的Python模块,专门用于生成MicrosoftExcel2007及以上版本(.xlsx格式)的电子表格文件。本文将对XlsxWri......
  • python的下载
    【解释器的安装】1.官网下载网址https://www.python.org/2.下载步骤 python2.7属于第一个时代的结束,python3.6属于新时代的开始,所以最好下载这两个版本的解释器(根据自己的系统位数选择下载版本) 下载保存安装    3.查看系统中安装的python版本(1)打开终端(Termi......