程序猿IT 2018-09-04 14:55:47 优效学院,大数据,人工智能,Java,架构,在线教育相比于其他语言,Python中的语法比较简单易学,但一旦不注意细节,刚入门的新手很容易就会掉进语法错误的坑里。 忘记写冒号在if,elif,else,for,while,class,def语句后面忘记添加“:” if spam == 42 2.误用“=”做等值比较“=”是给变量赋值,“==”才是判断两个值是否相等: score = 60 改正: score = 60 3.变量没有定义:if age >= 18: 会导致:NameError:未定义名称'age'。 改正: age = 20 4.字符串与非字符串连接错误: num = 12 非字符串和字符串连接的时候,要将非字符串转换为字符串类型之后才能连接,改正: num = 12 5.列表的索引位置习惯性地认为列表元素的位置是从1开始的: spam = ['cat', 'dog', 'mouse'] 列表元素的位置是从0开始的,所以第3个元素“鼠标”的索引位置是2,改正: spam = ['cat', 'dog', 'mouse'] 6.使用自增“++”自减“ - ”学过ç语言或者Java的的人会很习惯使用我++或者异,但在Python的中是没有自增自减操作符的: spam = 0 这时可以使用“+ =”来代替“++”,改正: spam = 0 7.使用关键字命名变量Python 3中一共33个关键字: 假,无,真,和,如,断言,突破,阶级,继续,闪避,德尔,ELIF,否则,除了最后,对于来自全球,如果进口,在,是,λ,外地,不,或者,传球,养,返回,尝试,同时,有,产量 自定义变量时,变量名不能和这些关键字重复。 8.索引元素位置时忘记调用len方法通过索引位置来获取列表元素时,忘记要先使用len函数来获取列表的长度: fam = ['dad', 'mom', 'son'] 改正: fam = ['dad', 'mom', 'son'] 9.函数中的局部变量赋值前被使用num = 42 第一行定义了一个全局变量num,同时函数myFunction()也定义了一个同名的局部变量,但程序执行时是先查找局部变量的,所以在函数中找到num之后就不到外部查找了,此时就会出现打印的时候变量NUM还没赋值的错误。 10.缩进问题和其他语言的语法最大的不同就是,Python中不能用括号来表示语句块,也不能用开始或结束标志符来表示,而是靠缩进来区分代码块的。 常见的错误用法: (1) print('Hello') 错误是第二行的缩进会导致两个打印语句是包含和被包含的关系,但他们两者是属于同一个代码块的,所以应该写成; print('Hello') (2) if spam == 42: 错误是第三行的缩进,改正的方法有两种,一是如果两个打印语句是属于同一代码块的,应该改正为 if spam == 42: 二是如果第三行的打印语句是和,如果语句是同一级的,则改正为 if spam == 42: (3)在Python 3中,缩进的时候,不能Tab和空格混用,每个缩进层次应该选择只使用Tab或者只使用空格。 你在学习的Python的过程中掉过哪些坑,欢迎留言参与讨论。需要资料的联系作者。 |
|