Python 初学者容易犯的错误

1、冒号:一定记住复合语句首行末尾输入“:”(if、while、for等)

2、空白行在交互模式提示符下很重要。模块文件中复合语句内的空白行都会被忽视、但是,当你在交互模式提示符下输入代码时,空白行则是结束语句。“...”

3、缩进要一致。避免在块缩进中混合制表符和空格,除非你知道文字编辑器如何处理制表符。否则、如果编辑器把制表符也算成空格,你在编辑器中所见到的就不一定是Python所见到的。

4、不要在Python中写C代码。在写if和while首行,不用再测试两侧输入括号(例如、if(X==1);)、不要以分号种植所有的语句。不要在while循环测试中嵌入赋值语句、而且不要在块周围使用{}、而是改用一致的缩进嵌套程序代码块。

5、使用简单的for循环、而不是while或range。因为Python会在内部为简单的for循环处理索引运算,因此有时会比等效的while快两倍。

6、不要期待在原处修改对象的函数会返回结果。例如list.append和list.sort方法这种的修改运算、并不会有返回值(除了None)。所以不要写mylist=mylist.append(x)这样的语句

7、一定要使用括号调用函数。如关闭文件不是file.close而是file.close()

8、不要在导入和重载中使用扩展名或路径。如import mod而不是import mod.py

时间: 04-26

Python 初学者容易犯的错误的相关文章

Python新人常犯的错误有哪些?

Python 以其简单易懂的语法格式与其它语言形成鲜明对比,初学者遇到最多的问题就是不按照 Python 的规则来写,即便是有编程经验的程序员,也容易按照固有的思维和语法格式来写 Python 代码,有一个外国小伙总结了一些大家常犯的错误,我把他翻译过来并在原来的基础补充了我的一些理解,希望可以让你避开这些坑,更好的学习python. 0.忘记写冒号 在 if.elif.else.for.while.class.def 语句后面忘记添加 ":" if spam == 42 print(

代码整洁之道,新手常犯的错误。

工作几年来,见过很多糟糕的代码.It是人口流动性很大的行业,如果不注重质量,那就是无数个坑.当需求变动,去改一段很长很糟糕第n手的代码时,内心是崩溃的,这就是国内IT的现状.下面是几个写出优质代码的好习惯,大部分公司没有硬性要求,所以很多人常犯这些错误.     1.形参的命名和数量. 变量命名的好建议是可以读出来的,有具体含义的,而不是mcount,amerber这种缩写的. 形参的数量最多控制在四个,再多就需要建对象.  2.临时变量的命名和数量. 临时变量的命名很多人不注意,比如s1,st

十个JAVA程序员容易犯的错误»

十个JAVA程序员容易犯的错误 ▉1. Array 转 ArrayList 一般开发者喜欢用: List<String> list = Arrays.asList(arr); Arrays.asList() 会返回一个ArrayList,这是Arrays里内嵌的一个私有静态类,而并不是java.util.ArrayList 类java.util.Arrays.ArrayList 有set(), get(), contains()方法,但并支持添加元素,所以大小是固定的,想要创建一个真正的Arr

对于过去所犯的错误,最好的道歉是在将来做正确的事

“Right actions for the future are the best apologies for wrong ones in the past.” — Tryon Edwards, Theologian 「对于过去所犯的错误,最好的道歉是在将来做正确的事.」 – 泰伦.爱德华兹 (神学家) “I try to do the right thing at the right time. They may just be little things, but usually they

网站移植到linux上后常犯的错误

常犯的错误 1:gcc库没装或者没装全 表现:没有可用的C编译器 同类错误:提示g++ not found, 解决:出现以上错误,则是因为gcc编译器没装,或者是没装全. 挂载光盘,到Pakeges里目录下去, 搜索gcc, 把相关的软件都装上. 在安装gcc的过程中,因为依赖性问题,在安装gcc之前 需要B->C->D软件 没有libppl*相关的软件,怎么办? 答:在光盘的packges里目录下,ls|grep ppl,找相关的软件装上. 2: 这类提示,缺少curses/tempcap库

JAVA中Long与Integer比较容易犯的错误

今天使用findbugs扫描项目后发现很多高危漏洞,其中非常常见的一个是比较两个Long或Integer时直接使用的==来比较. 其实这样是错误的. 因为Long与Ineger都是包装类型,是对象.  而不是普通类型long与int , 所以它们在比较时必须都应该用equals,或者先使用longValue()或intValue()方法来得到他们的基本类型的值然后使用==比较也是可以的. 但是有一种特殊情况, 其实Long与Integer都将 -128~127 这些对象缓存了.  可以看看Lon

标准动作中犯的错误,使用过程中忘记写结束符号所发生的错误

例如 错误写法: <jsp:getProperty property="userName" name="user" > 正确写法:<jsp:getProperty property="userName" name="user" /> 导致的异常: HTTP Status 500 - type Exception report message description The server encounte

Python脚本运行出现语法错误:IndentationError: unindent does not match any outer indentation level

[问题] 一个python脚本,本来都运行好好的,然后写了几行代码,而且也都确保每行都对齐了,但是运行的时候,却出现语法错误: IndentationError: unindent does not match any outer indentation level [解决过程] 1.对于此错误,最常见的原因是,的确没有对齐.但是我根据错误提示的行数,去代码中看了下,没啥问题啊. 都是用TAB键,对齐好了的,没有不对齐的行数啊. 2.以为是前面的注释的内容影响后面的语句的语法了,所以把前面的注释

Python读取中文txt文件错误:UnicodeEncodeError: &#39;gbk&#39; codec can&#39;t encode character

1 with open(file,'r') as f: 2 line=f.readline() 3 i=1 4 while line: 5 line=line.decode('utf-8') 6 print str(i)+": "+line7 line=f.readline() 8 i=i+1 用以上代码读取一个包含中文的txt文件时,在正确地读取并打印了六百多行之后,print str(i)+": "+line这一行报错: UnicodeEncodeError: