1.什么是Python?
Python是一门高级语言,你可能听说过其他高级语言C,C++,Perl和Java。不同与机器语言或者汇编语言,高级语言具有很大的优势。首先,高级语言写就的程序需要的时间更少,代码更短,易读性更高。再者,高级语言可移植性高,可以在不同机器上不经修改或少量修改就可运行。
2.Python解释器类型
Python程序由解释器执行。有两种方式使用解释器:交互模式和脚本模式。交互模式中,你可以输入Python程序,解释器显示结果:
>>> 1+1
2
你也可以将代码存储为文件,然后在解释器中执行脚本(文件中的内容)。默认情况下,Python脚本的后缀名是.py。如果你有一个叫xxx.py的脚本,你可以在UNIX中命令窗口中,输入python xxx.py来执行脚本。在其他的系统环境中,执行脚本的细节有所不同,你可以访问这里。
3.什么是程序?
程序是制定如何执行一系列计算的操作。这里的计算不单单指数学计算,也包括符号计算,例如搜索和替换文档中的文本,编译程序等。
程序语言一般由以下5个步骤组成:
输入:从键盘、文档或者其他设备中获取数据。
输出:在屏幕上显示数据或者向文件或其他设备发送数据。
数学:执行基础的数学运算,例如加法和乘法。
条件处理:匹配特定的条件,执行相应的代码。
重复:重复执行一些操作,通常是使用一些变量。
4.什么是debugging?
程序是容易犯错误的。出于偶然的原因,程序错误被命名为bugs,追踪它们的过程就叫做debugging。程序错误分为3种类型:语法错误、运行时错误、语义错误。
4.1语法错误
Python只能执行语法正确的程序,否则,解释器会显示一条错误的信息。语法指的是程序的结构以及约束程序结构的规则。例如,圆括号必须成对出现,所以(1+2) 是合法的,但是8)是语法错误的。
4.2运行时错误
第二类错误叫做运行时错误,之所以称为运行时错误,是因为只有你运行了程序,错误才可能出现。这些错误也被称为例外,因为它们表示一些不同的(坏的)事情发生了。
4.3语义错误
第三类错误是语义错误。如果一个语义错误出现在你的程序中,程序在某种程度上可以成功运行,不会生成任何错误信息,但是程序不做你本来想做的事情。
问题所在是你写的程序不是你想要的程序。程序的含义是错误的。辨别语义错误是非常困难的,因为它需要你回头看看程序输出了什么,才能尝试理解它在做些什么。
4.4实验debugging
你需要掌握的最重要的技能之一就是debugging。尽管它是令人沮丧的,debugging是程序中最考验智力,最富有挑战和最有趣的环节之一。
在某种程度上,debugging类似侦探工作。面对线索,你必须推断导致结果的过程和事件。debugging也类似实验物理。一旦发现错误的情况,你就可以修改程序并再次尝试。如果你的假设正确,你可以预测修改的结果,以便离你的程序完成更近一步。如果你的假设错误,你必须提出一个新的假设。正如Sherlock Holms所说的:
“当你排除不可能的情况,无论剩下的情况是多么的不可能,都一定是事实。” –A. Conan Doyle, The Sign of Four
对于一些人来说,programming和debugging是一样的事情。programming是一个不断debugging程序直到达到目的的过程。一个观点是,你应该写一段程序,并在此之上做些小的修改,然后debugging程序,所以你总是在programming。
5.形式语言和自然语言
自然语言是人们交流使用的语言,例如汉语、英语、西班牙语和法语。它们不是由人们设计的,而是自发形成的。
形式语言是人们为特定的应用设计的语言。例如,数学家使用的标记是一种专门表示数字和符号关系的形式语言。化学家使用一种符号语言来表示分子的化学结构。最重要的是:程序语言是专门设计表示计算的形式语言。
形式语言具有严格的语法规则。例如,3 + 3 = 6 是语法正确的数学语句,但是3 + = 3$6不是。
语法规则有两个特点:token和structure。Tokens是语言基本的要素,诸如单词、数字和化学要素。3 + = 3$6一个错误是$在数学中不是合法的token。语法规则的第二类是语句的结构,即tokens组合的方式。语句 3 + = 3是非法的,即使+、=是合法的tokens,但是你不能在一个tokens后面使用另一个tokens。
尽管形式语言和自然语言在很多方面是相同的-tokens、structure、语法和语义,但是它们也有一些不同之处:
歧义:自然语言充满歧义,人们通过使用上下文线索和其他信息来辨别。形式语言设计成几乎或者完全明确的,这意味着任何语句只能有一种含义。
冗余:为了补偿歧义和减少误解,自然语言使用了大量冗余。结果,它们常常很啰嗦。形式语言更少冗余,更加简洁。
表面意义:自然语言充满了成语和隐喻。如果我说“一枚便士掉落了”,可能根本没有便士或者什么东西掉落(这个成语意味着一个人在一阵疑惑之后,意识到一些事情)。形式语言只有表面的含义。
这里有一些建议关于阅读代码。首先,记住形式语言比自然语言更加难懂,所以阅读它们花费的时间更长。再者,结构是非常重要的,通常从上往下,从左往右阅读不是一个好主意。与之相反,学会在你的大脑中分析程序,识别标记和解释结构。最后,细节很重要。细小的拼写错误和标点错误,都会在形式语言都会影响重大。
6.第一个程序
在Python中,打印“Hello World”。
print 'Hello, World!'
这是一个打印语句的例子,它不会在纸上打印任何东西。它将在屏幕上显示一个值,这里这个值是:
Hello, World!
程序中的双引号标识需要显示文本的开始和结尾,它们不会出现在结果中。在Python 3中,打印语法有点不一样:
print ('Hello, World!')
圆括号表示方法print是函数。