热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

01认识Python

文章目录1、程序2、编程语言3、计算机语言的发展4、翻译程序5、编程语言排行榜6、Python语言的发展历程7、特点8、Python的应用领域9、Python历史版本1、程序程序

文章目录

  • 1、程序
  • 2、编程语言
  • 3、计算机语言的发展
  • 4、翻译程序
  • 5、编程语言排行榜
  • 6、Python语言的发展历程
  • 7、特点
  • 8、Python的应用领域
  • 9、Python历史版本


1、程序

程序一词来自生活,通常指完成某些事情的一种既定方式和过程,可以将程序看成对一系列动作的执行过程的描述。

计算机程序:为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合。老板向秘书发布命令,程序员向计算机发布指令。

2、编程语言

编写程序的工具就是计算机语言,Python就是多种语言中的一种。

3、计算机语言的发展

常识一:计算机只懂机器语言(即二进制代码),它不懂人类的语言。

常识二:计算机的智能,是人类赋予的,或者说是人类集体的智慧的体现。计算机是如何让人类控制的,是通过人类编写的程序来控制的。那人类是如何做到让计算机懂编写的程序呢?

机器语言阶段:人类用二进制来编写代码,一个字节是由8位二进制代码构成,比喻编写一个”a”,其二进制代码即为8位,复杂程序可想而知。

汇编语言时代:加上一些助记符,大大降低复杂程度,但是计算机不懂怎么办,开发编译器(相当于翻译)就可以解决,但人类难于推广。

高级语言时代:符合人类自然语言习惯,人类易于理解与推广,计算机不懂怎么办,开发编译器。这种语言就是现在大家熟悉的如Java语言。高级语言阶段又有了面向过程如C语言,而后出现了面向对象如Python语言。

4、翻译程序

对于计算机的CPU来说,高级语言太笼统了,它需要一个功能强大的翻译器来帮助理解。翻译器有两种:一种是编译器,另一种是解释器。它们的作用都是将我们用高级语言写好的程序翻译成计算机能理解的机器语言,所不同的是翻译的方式。

【源代码】:按照某种编程语言的语法来编写的计算机程序,是人类容易理解的。
【目标代码】 :计算机可以直接执行的代码,一般来讲目标代码人类不太可读(专家除外)

程序执行的两种方式
【编译】:将源代码一次性转换成目标代码的过程。执行编译过程的程序叫作编译器。
在这里插入图片描述
当程序员编写好一段代码之后,经过一个叫编译器的软件,可以将这段代码翻译成目标代码(计算机可以直接执行的代码),然后我们可以执行这段代码,它获取程序该有的输入并产生输出结果,这就是编译过程。

【解释】:将源代码逐条转换成目标代码同时逐条运行的过程。执行解释过程的程序叫作解释器。
在这里插入图片描述
将源代码根据代码的的行数和执行方式,逐条地提取源代码的内容,并逐条地转换成目标代码,同时逐条运行目标代码的过程。在这个过程中,读取源代码每行代码和程序输入这样的一个软件或者一个程序,我们叫解释器。它通过运行源代码和程序的输入来获取程序的输出。

编译和解释的对比:
【编译(compiler)】:一次性翻译,将程序员编写的源代码变成目标之后,不再需要源代码。使用目标代码来运行程序。类似英文翻译。
【解释(interpreter)】:每次都需要源代码参与才能够运行程序,随翻译随执行。类似英文中的实时同声传译。

编译语言分类:

  • 编译型语言(静态语言):使用编译执行的编程语言

C、C++、Java…;
源代码经编译后产生目标代码,即对应于特定平台的机器码。是平台相关的,可移植性不强,程序运行速度更快(在生成目标代码的过程中,可以运用更多的优化过程,可以使产生的目标代码的执行速度更快)。

  • 解释型语言(脚本语言):使用解释执行的编程语言

PerlBasic、Python、Javascript、PHP…;
将源代码逐行读入并执行的。解释一句执行一句,并不产生目标代码。是可跨平台的,可移植性强,源代码维护灵活(在翻译的同时就要去执行,所以很难加载更多的优化,由于源代码的存在,使得在维护程序的时候变得很灵活,同时保留源代码使程序功能可以跨多个操作系统运行)。一个软件经过很多年的发展,到最后软件的源代码竟然找不到了,再去更新维护软件的时候就很困难了。但如果是脚本语言完成的,每次执行都需要源代码的存在,只要功能还在,源代码就在。
【提问:Python的翻译程序属于哪一种呢?】

5、编程语言排行榜

通过TIOBE排行榜,Python长居前三位。
在这里插入图片描述

6、Python语言的发展历程

人生苦短,我用Python——Life is short,you need Python

Python的作者,吉多.范罗苏姆Guido von Rossum,荷兰人,1982年,Guido从阿姆斯特丹大学获得了数学和计算机硕士学位。1989年,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC 语言的一种继承。

在这里插入图片描述
Python(蟒蛇)这个名字,来自Guido所挚爱的BBC电视剧——蒙提.派森的飞行马戏团(Monty Python's Flying Circus)。他希望这个新的叫做Python的语言,能符合他的理想:创造一种C和shell之间,功能全面,易学易用,可拓展的语言。

7、特点

在这里插入图片描述

8、Python的应用领域

Web应用开发、操作系统管理、服务器运维的自动化脚本、科学计算、桌面软件、服务器软件(网络软件)、游戏、构思实现,产品早期原型和迭代。

9、Python历史版本

在这里插入图片描述


推荐阅读
  • 本文介绍如何解决在 IIS 环境下 PHP 页面无法找到的问题。主要步骤包括配置 Internet 信息服务管理器中的 ISAPI 扩展和 Active Server Pages 设置,确保 PHP 脚本能够正常运行。 ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • 装饰器是一种用于在不修改原函数代码的情况下,动态地添加功能的工具。它允许你在函数执行前后插入额外的逻辑,从而增强或改变函数的行为。 ... [详细]
  • Python入门:第一天准备与安装
    本文详细介绍了Python编程语言的基础知识和安装步骤,帮助初学者快速上手。涵盖Python的特点、应用场景以及Windows环境下Python和PyCharm的安装方法。 ... [详细]
  • 在Java中,this是一个引用当前对象的关键字。如何通过this获取并显示其所指向的对象的属性和方法?本文详细解释了this的用法及其背后的原理。 ... [详细]
  • FinOps 与 Serverless 的结合:破解云成本难题
    本文探讨了如何通过 FinOps 实践优化 Serverless 应用的成本管理,提出了首个 Serverless 函数总成本估计模型,并分享了多种有效的成本优化策略。 ... [详细]
  • 本文详细介绍了网络存储技术的基本概念、分类及应用场景。通过分析直连式存储(DAS)、网络附加存储(NAS)和存储区域网络(SAN)的特点,帮助读者理解不同存储方式的优势与局限性。 ... [详细]
  • 尽管深度学习带来了广泛的应用前景,其训练通常需要强大的计算资源。然而,并非所有开发者都能负担得起高性能服务器或专用硬件。本文探讨了如何在有限的硬件条件下(如ARM CPU)高效运行深度神经网络,特别是通过选择合适的工具和框架来加速模型推理。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文详细解析了如何使用Python语言在STM32硬件平台上实现高效的编程和快速的应用开发。通过具体的代码示例,展示了Python简洁而强大的特性。 ... [详细]
  • 本文详细解析了Python中的os和sys模块,介绍了它们的功能、常用方法及其在实际编程中的应用。 ... [详细]
  • 掌握远程执行Linux脚本和命令的技巧
    本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ... [详细]
  • MySQL索引详解与优化
    本文深入探讨了MySQL中的索引机制,包括索引的基本概念、优势与劣势、分类及其实现原理,并详细介绍了索引的使用场景和优化技巧。通过具体示例,帮助读者更好地理解和应用索引以提升数据库性能。 ... [详细]
  • 本文介绍了几种不同的编程方法来计算从1到n的自然数之和,包括循环、递归、面向对象以及模板元编程等技术。每种方法都有其特点和适用场景。 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有