整节课要点:

摩尔定律

英特尔创始人之一戈登·摩尔的经验之谈,其核心内容为:集成电路上可以容纳的晶体管数目在大约每经过18个月便会增加一倍。

编程语言发展的三个阶段

  1. 机器语言:

即0/1 代码;计算机只能识别 0 和 1;在计算机内部,无论是一部电影还是一首歌曲或是一张图片,最终保存的都是 0/1 代码,因为 CPU 只能执行 0/1 代码。

这是否就意味着编程一定要用 0/1 代码呢?

首先这么编写肯定是可以的,但是这样太麻烦,而且很不好理解,所以后来就出现了汇编语言 如果直接用机器语言编写的话,这几乎是无法实现的。因为用机器语言太难记忆了,也没人能看得懂。所以后来就设计出了第二种语言,即将 0/1 代码翻译为英文单词,这些英文单词直接对应着一串 0/1 指令。这个就是汇编语言。

2. 汇编语言:

将一串很枯燥无味的机器语言转化成一个英文单词。

如:add 1, 2;这样看起来就稍微有一些含义了。

用专门的软件就可以将这些英文单词转化成 0/1 代码并由计算机执行,这种专门起翻译的作用的软件叫编译器

3. 高级语言:

计算机语言具有高级语言低级语言之分。而高级语言又主要是相对于汇编语言而言的,它是较接近自然语言和数学公式的编程,基本脱离了机器的硬件系统,用人们更易理解的方式编写程序。

高级语言与计算机的硬件结构及指令系统无关,有更强的表达能力,可方便地表示数据的运算和程序的控制结构,能更好的描述各种算法,但编译生成的程序代码一般比用汇编语言设计的程序代码要长,执行的速度也慢。

Python的几个特点

  • 跨平台
  • 解释型语言
  • 交互式语言
  • 面向对象——在Python中,一切皆对象

注:

1. 解释型语言:相对于编译型语言存在的,源代码不是直接翻译成机器语言,而是先翻译成中间代码,再由解释器对中间代码进行解释运行;Python/JavaScript/Perl/Shell都是解释型语言

2. 交互式语言:支持用户与系统之间以会话方式通信的程序设计语言

面向对象:是相对于面向过程来讲的,面向对象方法,把相关数据和方法组织为一个整体看待,从更高的层次来进行系统建模,更贴近事物的自然运行模式

什么是编译型语言和解释型语言?

  • 编译型语言

使用专门的编译器,针对特定的平台,将高级语言源代码一次性的编译成可被该平台硬件执行的机器码,并包装成该平台所能识别的可执行性程序的格式。

说人话就是:

在编译型语言写的程序执行之前,需要一个专门的编译过程,把源代码编译成机器语言的文件;如exe文件,以后要再运行时,直接使用编译结果即可。因为只需编译一次,以后运行时不需要再编译,所以编译型语言执行效率高。

小结:

  • 一次性的编译成平台相关的机器语言文件,运行时脱离开发环境,运行效率高
  • 与特定平台相关,一般无法移植到其他平台
  • 现有的C、C++、Objective等都属于编译型语言

  • 解释型语言

使用专门的解释器对源程序逐行解释成特定平台的机器码并立即执行。是代码在执行时才被解释器一行行动态翻译和执行,而不是在执行之前就完成翻译。

解释型语言不需要事先编译,其将源代码解释成机器码并立即执行,所以只要某一平台提供了相应的解释器即可运行该程序。

小结:

  • 解释型语言每次运行都需要将源代码解释称机器码并执行,效率较低
  • 只要平台提供相应的解释器,就可以运行源代码,所以可以方便源程序移植
  • Python等属于解释型语言

编译型与解释型,两者各有利弊 前者由于程序执行速度快,同等条件下对系统要求较低,因此像开发操作系统、大型应用程序、数据库系统等时都采用它,像C/C++、Pascal/Object Pascal(Delphi)等都是编译语言,而一些网页脚本、服务器脚本及辅助开发接口这样的对速度要求不高、对不同系统平台间的兼容性有一定要求的程序则通常使用解释性语言。

Python开发环境搭建

具体步骤见 https://blog.helloalone.cn/index.php/2021/10/03/python_starter/

如何编写和运行Python程序

  • 使用Python自身提供的交互式解释器编写Python程序

在Linux、Windows、Mac OS的命令行窗口或Shell窗口,执行python命令,启动Python交互式解释器。交互式解释器会等待用户输入Python语句。输入Python语句并回车,解释器会执行语句并输出结果。

  • 使用Python自身提供的IDLE集成开发环境编写Python程序

Python自身提供了一个简洁的集成开发环境,具备基本的IDE功能。利用IDLE可以较为方便地创建、运行、测试和调试Python程序.

  • 使用PyCharm等IDE(集成开发环境)编写Python程序

关于Python缩进

缩进是Python语法的一部分,是正确与否的问题,不仅仅是重要不重要的问题。

和其它程序设计语言(如 Java、C 语言)采用大括号“{ }”分隔代码块不同,Python采用代码缩进和冒号( : )来区分代码块之间的层次。

注意

Python中实现对代码的缩进,可以使用空格或者Tab键实现。但无论是手动敲空格,还是使用Tab键,通常情况下都是采用4个空格长度作为一个缩进量

Python对代码的缩进要求非常严格同一个级别代码块的缩进量必须一样,否则解释器会报SyntaxError错误。

在IDLE中,默认是以4个空格作为代码的基本缩进单位。不过,这个值是可以手动改变的。


我们所度过的每个平凡的日常,也许就是连续发生的奇迹