Python代码编写的常见问题
从第一列开始
确保把顶层的,未嵌套的代码放在最左边第一列开始。这包括在模块文件中未嵌套的代码,以及在交互提示符中未嵌套的代码。Python使用缩进的办法来区分嵌套的代码段,因此在你代码左边的空格意味着嵌套的代码块。除了缩进以外,空格通常是被忽略掉的。
不要在Python中写C代码
以下是给不熟悉Python的C程序员的一些备忘贴士:
在if和while中条件测试时,不用输入括号(例如,if(X==1):)。如果你喜欢的话,加上括号也无妨,只是在这里是完全多余的。
不要用分号来结束你的语句。从技术上讲这在Python里是合法的,但是这毫无用处,除非你要把很多语句放在同一行里(例如,x=1;y=2;z=3)。
不要在while循环的条件测试中嵌入赋值语句(例如,while((x=next()!=NULL))。在Python中,需要表达式的地方不能出现语句,并且赋值语句不是一个表达式。
别忘了冒号
这是新手程序员最容易犯的一个错误:别忘了在复合语句的起始语句(if,while,for等语句的第一行)结束的地方加上一个冒号“:”。也许你刚开始会忘掉这个,但是到了很快这就会成为一个下意识的习惯。课堂里75%的学生当天就可以记住这个。
初始化变量
在Python里,一个表达式中的名字在它被赋值之前是没法使用的。这是有意而为的:这样能避免一些输入失误,同时也能避免默认究竟应该是什么类型的问题(0,None,””,[],?)。记住把计数器初始化为0,列表初始化为[],以此类推。
缩进一致
在同一个代码块中避免讲tab和空格混用来缩进,除非你知道运行你的代码的系统是怎么处理tab的。否则的话,在你的编辑器里看起来是tab的缩进也许Python看起来就会被视作是一些空格。保险起见,在每个代码块中全都是用tab或者全都是用空格来缩进;用多少由你决定。
在函数调用时使用括号
无论一个函数是否需要参数,你必须要加一对括号来调用它。即,使用function(),而不是function。Python的函数简单来说是具有特殊功能(调用)的对象,而调用是用括号来触发的。像所有的对象一样,他们也可以被赋值给变量,并且间接的使用他们:x=function:x()。
在Python的培训中,这样的错误常常在文件的操作中出现。通常会看到新手用file.close来关闭一个问题,而不是用file.close()。因为在Python中引用一个函数而不调用它是合法的,因此不使用括号的操作(file.close)无声的成功了,但是并没有关闭这个文件!
在Import时不要使用表达式或者路径
在系统的命令行里使用文件夹路径或者文件的扩展名,但不要在import语句中使用。即,使用importmod,而不是importmod.py,或者importdir/mod.py。在实际情况中,这大概是初学者常犯的第二大错误了。因为模块会有除了.py以为的其他的后缀(例如,.pyc),强制写上某个后缀不仅是不合语法的,也没有什么意义。
和系统有关的目录路径的格式是从你的模块搜索路径的设置里来的,而不是import语句。你可以在文件名里使用点来指向包的子目录(例如,importdir1.dir2.mod),但是最左边的目录必须得通过模块搜索路径能够找到,并且没有在import中没有其他路径格式。不正确的语句importmod.py被Python认为是要记在一个包,它先加载一个模块mod,然后试图通过在一个叫做mod的目录里去找到叫做py的模块,最后可能什么也找不到而报出一系列费解的错误信息。
以上内容为大家介绍了Python代码编写的常见问题,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。http://www.mobiletrain.org/
相关推荐HOT
更多>>编写一个简单的游戏来学习 Python
通过编写一个“猜数字”游戏来探索Python(和其他编程语言)。在这个系列中,我们要用不同的编程语言编写相同的应用,以比较各种语言是如何工作的...详情>>
2023-11-11 23:31:59新手学Python用什么编辑器比较好?
工欲善其事必先利其器,选好工具学习更高效。市面上流行的编辑器众多,根据自己的需求选择适合自己。p小白可以选择pycharm配置简单功能强大使用...详情>>
2023-11-11 22:54:28Python 中 Logging 模块使用详情
1.为什么要用logging模块在实际应用中,日志文件十分重要,通过日志文件,我们知道程序运行的细节;同时,当程序出问题时,我们也可以通过日志快...详情>>
2023-11-11 21:59:42python学习进阶方法
阶段一:前辈领进门。第一眼是一个前辈给我看了看Python的代码,因为自己最早学习的是Java语言,第一眼看到Python的时候,前辈说,“Python是面...详情>>
2023-11-11 20:20:18