Python教程-基础全版.pdf

  1. 1、本文档共640页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 1 章 Python 编程基础 1.1 编程语言是什么 其实,程序指的就是一系列指令,用来告诉计算机做什么,而编写程序的关键在于,我们需要用计算机可以理 解的语言来提供这些指令。 虽然借助Siri (Apple )、Google Now (Android )、Cortana (Microsoft )等技术,我们可以使用汉语直 接告诉计算机做什么,比如“Siri ,打开酷狗音乐”,但使用过这些系统的读者都知道,它尚未完全成熟,再加 上我们语言充满了模糊和不精确因素,使得设计一个完全理解人类语言的计算机程序,仍然是一个有待解决的 问题。 为了有效避开所有影响给计算机传递指令的因素,计算机科学家设计了一些符号,这些符号各有其含义,且之 间无二义性,通常称它们为编程语言。编程语言中的每个结构,都有固定的使用格式(称为语法)以及精确的 含义(称为语义)。换句话说,编程语言指定了成套的规则,用来编写计算机可以理解的指令。习惯上,我们 将这一条条指令称为计算机代码 ,而用编程语言来编写算法的过程称为编码。 本教程要讲解的 Python 就是一种编程语言,除此之外,你肯定也听说过其他一些编程语言,如 C、C++、 Java、Ruby 等。至今,计算机科学家已经开发了成百上千种编程语言,且随着时间演变,这些编程语言又产生 了多个不同的版本。但无论是哪个编程语言,也无论有多少个版本,虽然它们在细节上可能有所不同,无疑它 们都有着固定的、无二义性的语法和语义。 以上提到的编程语言,都是高级计算机语言,设计它们的目的是为了方便程序员理解和使用。但严格来说,计 算机硬件只能理解一种非常低级的编程语言,称为机器语言。 比如说,让计算机对2 个数做求和操作,那么CPU 可能要执行以下指令: 1. 将位于内存空间位置在 2001 的数加载到CPU 中; 2. 再将位于内存空间位置在2002 的数也加载到CPU 中; 3. 在CPU 中,对这2 个数做求和操作; 4. 将结果存储在位置为2003 的内存空间。 可以看到,对2 个数执行求和操作需要做这么多工作,且这还只是笼统地描述,实际会更加复杂。 而使用 Python 这样的高级语言,对 2 个数求和可以很自然地用c = a + b 表示,但由此带来的问题是,我们 需要设计一种方法,将高级语言翻译成计算机可以执行的机器语言,有两种方法可以实现,分别是使用编译器 和解释器。 使用编译器将自身等效转换成机器语言的高级语言,通常称为编译型语言 ;而使用解释器将自身转换成机器语 言的高级语言,称为解释型语言 ,Python 就是解释型编程语言的一种。 关于编译型语言和解释型语言的含义和区别,后续章节会进行详细介绍。 1.2 编译型语言和解释型语言的区别 我们编写的源代码是人类语言,我们自己能够轻松理解;但是对于计算机硬件(CPU ),源代码就是天书,根 本无法执行,计算机只能识别某些特定的二进制指令,在程序真正运行之前必须将源代码转换成二进制指令。 所谓的二进制指令,也就是机器码,是 CPU 能够识别的硬件层面的“代码”,简陋的硬件(比如古老的单片机) 只能使用几十个指令,强大的硬件(PC 和智能手机)能使用成百上千个指令。 然而,究竟在什么时候将源代码转换成二进制指令呢?不同的编程语言有不同的规定: • 有的编程语言要求必须提前将所有源代码一次性转换成二进制指令,也就是生成一个可执行程序(Windows 下 的.exe ),比如C 语言、C++、Golang、Pascal (Delphi )、汇编等,这种编程语言称为编译型语言 ,使用 的转换工具称为编译器。 • 有的编程语言可以一边执行一边转换,需要哪些源代码就转换哪些源代码,不会生成可执行程序,比如 Python、 JavaScript、PHP、Shell、MATLAB 等,这种编程语言称为解释型语言 ,使用的转换工具称为解释器。 简单理解,编译器就是一个“翻译工具”,类似于将中文翻译成英文、将英文翻译成俄文。但是,翻译源代码 是一个复杂的过程,大致包括词法分析、语法分析、语义分析、性能优化、生成可执行文件等五个步骤,期间 涉及到复杂的算法和硬件架构。解释器与此类似,有兴趣的读者请参考《编译原理》一书,本文不再赘述。 Java 和C# 是一种比较奇葩的存在,它们是半编译半解释型的语言,源代码需要先转换成一种中间

您可能关注的文档

文档评论(0)

icewind + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档

相关课程推荐