更/懂
餐饮酒店设计和施工 , 更多人选择了我们
文章中,我将总结新的杨家Python程序员常犯的一些错误,以协助你们在自己的工作防止罪某种程度或类似于错误。首先我要解释一下的是,这些都是源于第一手的经验。我以讲授Python的科学知识维生。
在过去的7年里,我早已给上千名学生讲授上百堂Python的课程,同时看著这些学生们罪某种程度的错。也就是说,这些是我看著Python初学者活生生罪的错,千百次的错。事实上,这些错误觉得是过于广泛了以至于我不敢确保你刚开始习的时候是一定会罪的。
“那么是什么呢?”你不会回答,“你也不会在Python里罪那么多错么?”是的。Python有可能是最简单、最灵活性的语言之一,但它注定还是一门编程语言。
它依然有语法,数据类型,以及巫师蒂姆居住于的黑暗角落。典故出自于《蒙蒂派森与圣杯》中的魔法师蒂姆,他主角们指点在洞穴的墙壁上记录的圣杯方位,作者在此处的意思是Python语言里更容易受罚的地方。
另,Python语言故名于作者GuidovanRossum尤其讨厌的《蒙蒂派森飞行中马戏团(MontyPython’sFlyingCircus)》——译者注好事情是好在了Python那整洁的设计,一旦你学会了Python,你就能自动的避免很多陷阱。Python在其各组件之间具有大于的对话,这能有效地的增加bug。它也享有十分非常简单的语法,这意味著在一开始你就有更加小的概率受罚。当你觉得是犯了错的时候,Python的即时错误检测和报告能老大你很快的完全恢复。
但用Python编程也不是个自动已完成的活儿,很多事还是要早于做到打算。那么废话不多说道了,让我们直切正题。在接下来的三节里我们将这些错误分成语用、代码,以及编程三个大类。
如果你想要写更加多的Python的少见错误以及如何防止它们,那么在O’Reilly系列丛书的《Python自学手册》(原书第5版)里有详尽的理解。01语用错误让我们从基础开始,从那些刚刚自学编程的人钻研语法之前遇到的事情开始。
如果你早已编成过一些程了,那么以下这些有可能看上去十分的非常简单;如果你曾多次尝试过教新手们怎么编程,它们有可能就不这么非常简单了。1.在交互提示符中输出Python代码在交互提示符中你不能输出Python代码,而不是系统命令。经常有人在这个提示符下输出emacs,ls,或者edit之类的命令,这些可不是Python代码。在Python代码中显然有办法来调用系统命令(例如os.system和os.popen),但可不是像必要输出命令这么必要。
如果你想在交互提示符中启动一个Python文件,请用importfile,而不是系统命令pythonfile.py。2.Print语句(意味着)是在文件中必须因为交互解释器不会自动的讲表达式的结果输入,所以你不必须交互的键入原始的print语句。这是个有趣的功能,但是忘记在代码文件里,一般来说你只有用print语句才能看获得输入。
3.小心Windows里的自动扩展名如果你在Windows里用于记事本来编辑代码文件的话,当你维持的时候小心自由选择“所有文件”(AllFiles)这个类型,并且具体的给你的文件特一个.py的后缀。不然的话记事本不会给你的文件特一个.txt的扩展名,使得在某些启动方法中不了跑完这个程序。更加差劲的是,像Word或者是写字板一类的文字处理软件还不会配置文件的再加一些格式字符,而这些字符Python语法是不认的。所以忘记,在Windows下总是选“所有文件”(AllFiles),并留存为显文本,或者用于更为“编程友好关系”的文本编辑工具,比如IDLE。
在IDLE中,忘记在留存时手动再加.py的扩展名。4.在Windows下页面图标的问题在Windows下,你能靠页面Python文件来启动一个Python程序,但这有时不会有问题。首先,程序的输入窗口在程序完结的瞬间也就消失了,要让它不消失,你可以在文件最后特一条raw_input()的调用。
另外,忘记如果有拢的话,输入窗口也就立刻消失了。要看见你的错误信息的话,用别的方法来调用你的程序:比如从系统命令行启动,通过提示符下用import语句,或者IDLE菜单里的选项,等等。5.Import只在第一次有效地你可以在交互提示符中通过import一个文件来运营它,但是这只不会在一个不会话中起一次起到;接下来的import意味着是回到这个早已读取的模块。
要想要强迫Python新的读取一个文件的代码,请求调用函数reload(module)来超过这个目的。留意对reload请求用于括号,而import不要用于括号。6.空白行(意味着)在交互提示符中有起到在模块文件中空白行和注解统统不会被忽视掉,但是在交互提示符中键入代码时,空白行回应一个填充语句的完结。
换句话说,空白行告诉他交互提示符你已完成了一个填充语句;在你确实已完成之前不要键入开路。事实上当你要开始一个新的语句时,你必须键入一个空行来完结当前的语句——交互提示符一次只运营一条语句。
02代码错误一旦你开始严肃写出Python代码了,接下来了一堆陷阱就更为危险性了——这些都是一些横跨语言特性的基本代码错误,并经常后遗症不细心的程序员。7.别忘了冒号这是新手程序员最更容易罪的一个错误:别忘了在填充语句的接续语句(if,while,for等语句的第一行)完结的地方再加一个冒号“:”。或许你刚开始不会忘记这个,但是到了迅速这就不会沦为一个潜意识的习惯。课堂里75%的学生当天就可以忘记这个。
8.初始化变量在Python里,一个表达式中的名字在它被赋值之前是不了用于的。这是无意而为的:这样能避免一些输出犯规,同时也能避免配置文件到底应当是什么类型的问题(0,None,””,[],?)。忘记把计数器初始化为0,列表初始化为[],以此类推。9.从第一列开始保证把顶层的,并未嵌套的代码放到最左边第一列开始。
这还包括在模块文件中并未嵌套的代码,以及在交互提示符中并未嵌套的代码。Python用于凹痕的办法来区分嵌套的代码段,因此在你代码左边的空格意味著嵌套的代码块。除了凹痕以外,空格一般来说是被忽视丢弃的。
10.凹痕完全一致在同一个代码块中防止谈tab和空格混用来凹痕,除非你告诉运营你的代码的系统是怎么处置tab的。否则的话,在你的编辑器里看上去是tab的凹痕或许Python看上去就不会被视为是一些空格。
保险起见,在每个代码块中全都是用tab或者全都是用空格来凹痕;用多少由你要求。11.在函数调用时用于括号无论一个函数否必须参数,你必需要加一对括号来调用它。即,用于function(),而不是function。
Python的函数非常简单来说是具备类似功能(调用)的对象,而调用是用括号来启动时的。像所有的对象一样,他们也可以被赋值给变量,并且间接的用于他们:x=function:x()。在Python的培训中,这样的错误经常在文件的操作者中经常出现。
一般来说不会看见新手用file.close来重开一个问题,而不是用file.close()。因为在Python中提到一个函数而不调用它是合法的,因此不用于括号的操作者(file.close)寂静的顺利了,但是并没重开这个文件!。
本文来源:半岛·BOB官方网站-www.zaz61.com
餐饮酒店设计和施工 , 更多人选择了我们