Python(英国发音:/ˈpaɪθən/美国发音:/ˈpaɪθɑːn/),是一种面向对象、直译式计算机编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用縮进来定义语句块。
工具/原料
Python
程序
1、程序是根据语言提供的指令,按照一定的逻辑顺序,对获得的数据进行运算,并将结果最终返回给我们的指令和数据的组合。在这里运算的含义是广泛的,既包括数学计算之类的操作,比如加减乘除;也包括诸如寻找和替换字符串之类的操作。数据也依据需要的不同,组成不同的形式,处理后的数据,也可能以另一种方式体现。
2、程序是用语言写成的。语言分高级语言和低级语言。低级语言,有时叫做机器语言或汇编语言。计算机真正“认识”并能够执行的代码,在我们看来是一串0和1组成的二愉桴狁焕进制数字,这些数字代表指令和数据。想一想早期的计算机科学家就是用这些枯燥乏味的数字编程,其严谨的治学精神令人钦佩。低级语言的出现则是计算机程序语言的一大进步,它用英文单词或单词的缩写代表计算机执行的指令,使编程的效率和程序的可读性都有了较大的提高,但由于它仍然和机器硬件关联紧密,依然不符合人类的语言和思维习惯,而且要想把低级语言写的程序移植到其他平台,很不幸,必须重写。
3、高级语言的出现是程序语言发展的必然结果,也是计算机语言向人类的自然语言和思维方式逐步靠近和模拟的结果。这一过程现今仍在继续,将来也不会停止。针对不同领域的应用情况,未来会出现更多新的计算机语言。言归正传,高级语言是人类逻辑思维的程序化、数字化和精确化数学描述。逻辑思维是人类思维方式的重要的一部分,但决不是全部,只有这部分计算机能够比较全面、系统地模拟人类的思维方法。由于高级语言是对人类逻辑思维地描述,用它写程序你会感到比较自然,读起来也比较容易,因此,如今的大部分程序都是用高级语言写的。
4、高级语言的设计的目的是让程序按照人类的思维和语言习惯书写,它是面向人的,不是面向机器的。我们用着方便,但机器却无法读懂它,更谈不上运行了。所以,用高级语言写的程序,必须经过“翻译”程序的处理,将其转换成机器可执行的代码,才能运行在计算机上。如果想把它移植到别的平台上,只需在它的基础上,做少量更改,就可以了。
5、高级语言翻译成机器代码有两种方法:解释和编译。解释型语言是边读源程序边执行。(见图1.1)
6、而编译型语言则是将源代码编译成目标代码后执行。以后在执行时就不需要编译了。(见图1.2)
什么是调试
1、程序是由人写成的,所以难免出现错误。跟踪并改正错误的过程叫调试。程序中可能有三种类型的错虱忪招莫误:· 语法错误(syntax errors);· 运行错误(runtime errors);· 语义错误(semantic errors)。语法错误 程序要运行,首先语句的语法必须正确,才能够被计算机执行。否则,执行的过程中断,返回错误信息。语法指的是程序语句的组成要符合语言规定的构成规则。例如,下面的语句是符合语法规则的:>>> a = b - c它的意思是将b减c的结果赋值给变量a。如果你把这个表达式写成“b - c = a”这种形式,就错了,因为它不合语法规定,“b - c”这样的表达式不能被赋值。当然语法也不是凭空而定的,它要符合我们的思维习惯
2、对于自然语言来说,比如说汉语,你写的文章或说的话,存在少量的语法错误,还不至于影响要表达的意思。而计算机则没有达到如此聪明的地步,它要求百分之百的精确。你的程序要完全符合计算机的语法,哪怕有一点错误,它也不可能执行你的程序。其实语法错误还是比较容易找到和消除的。当你开始学习编程时,由于需要逐渐熟悉语法,出现的语法错误可能会很多,随着经验的增长,它会一点点的减少,即使有,你也能够轻松的找到并改正它们。
3、运行错误即使是完美无缺的程序,在运行的过程中也会出现错误,有时称为异常 ,或曰不可预料的错误。有人说,计算机不是善于精确计算吗?不错,确实如此。错的不是计算机,而是我们人类。计算机说到底,不过是人类设计的,为我们所用的工具。它和电视机、汽车从本质上来说,是一样的。限于现在有关计算机软硬件的理论水平、工业制造水平、甚至使用者的水平等等一些内在的、外在的因素,你想,它能够不出错吗?程序越复杂,出现异常的几率越大。异常的种类很多,比如内存用尽,除数为零的除法,都可能导致异常。Python中设计了专门的异常处理语句,把错误的影响降至最低。
4、语义错误 程序即使有语义错误,也能正常运行,也不会产生任何错误信息,但得到的结果和我们预料的大相径庭。这时候程序做了一些别的事情。发生这种错误一般是我们对语句的运行机理了解的不够透彻,自以为它应该如此运行,而实际却不是这样。还有可能是你的解决问题的思路本身就是错的,写的程序当然是错的。查找这样的错误很不容易,需要从结果进行推理,看一看是程序的哪一部分导致了这样的结果。
调试
1、程序错误是不可避免的,查找并改正错误,即调试,就成了我们一项中的我们要掌握的一项重要技能。调试是令人讨厌的工作,常常是你花了一天的时间搜寻错误,也可能还是找不到。因此调试需要细心、耐心和恒心。
2、任何讲解语言的文章和书籍,都不能把所有的知识告诉你,而调试是深入了解一种语言特性的好机会。通过调试,我们不仅能够提高驾驭语言的能力,而且还丰富了编程知识。
3、调试在某些方面很想破案,面对很少的、凌乱的线索,你必须推测程序实际的执行过程,猜测是什么地方可能导致了错误。
4、调试是程序员的工作,其目的是使程序按照预定的功能正常运行。但这时的程序还没有最终完成,必须在进行测试。测试则是由另一部分人,他们的目的就是寻找运行程序出现的错误,然后反馈给程序员,由程序员修复错误。这是一个互动的过程。
程序语言和自然语言
1、自然语言是人们日常生活中用于交流的语言,如汉语。自然语言是伴随着人类的成生而形成的,它是人和人之间交流的工具。
2、程序语言是人类根据自然语言的一小部分,给计算机设计的,用于人和计算机进行交流的语言。在进一步说,程序语言是对计算机硬件资源有计划、合理的分配和利用。计算机按照程序步骤,分毫不差地调用自己的硬件资源进行运算,之后把工作结果提交给我们。从这方面说,程序应该是工作流程,而非语言。
3、程序语言和自然语言存在很多区别:模糊性:自然语言充满了模糊性。例如我们写的抒情散文,常常是“醉翁之意,不在酒”。但别人依然能够根据上下文的联系,在整体上把握你要说的意思。程序语言则被要求语句的四歹吭毳意思必须明确,不能有任何歧义,更不能联系上下文来确定语句的意思。所以说计算机是一根筋的家伙。冗余:由于自然语言的模糊性,单凭一句话你不能理解作者的真实想法,为此,作者就需要从方方面面对他的真实意图,进行解说,以帮助人们理解正确的意思,结果导致冗余的出现。程序语言很少会出现冗余,因而意思表达德更精确。无修饰:自然语言为了追求感情和修辞上的效果,会在话语中添加许多华丽的词汇,以使感情更加充沛。程序语言则没有这些东西,他一就是一,二就是二,不涉及自然语言的感情和修辞。
第一个程序
1、Python是解释型语言。我们可以通过命令行或脚本模式执行Python程序。在DOS提示符下,输入Python命令,就进入命令行袷蜍滇刷模,这时解释器出现欢迎信息、版本号及版权说明,然后实Python的提示符“>>>”。如果程序不只一行,那么在第二行就会出现第二个提示符“...”。>>> if age>18:... print "Your age is more than 18."... Your age is more than 18.我们也可以启动python的IDLE,它和命令行模式很相像,而且功能似乎更强大。IDLE的启动界面(见图1.3):我们也可以把语句存入脚本文件,然后在命令行执行它。例如:C:\>python hello.pyHello,world!
2、依照惯例,第一个程序是“Hello,World!”。它所做的就是显示两个单词,“Hello,World!”。用Python语言写的程序如下:print "Hello,World!"这是打印语句的例子,“打印”的意思不是真正打印在纸上,而是显示在屏幕上。程序中的引号表示的是值的开始和结束,它不出现在结果中。程序的输出结果如下(见图1.4):