相比于其余语言,Python 的语法比较简单易学,但一旦不留神细节,刚入门的老手就会掉进语法错误的坑里。明天给大家讲几个平时比拟容易掉的“坑”。
1、遗记写冒号
在 if、elif、else、for、while、class、def 语句前面遗记增加 “:”
2、误用“=”做等值比拟
“=”是给变量 赋值 ,“==” 才是判断两个值是否 相等:
改过:
3、变量没有定义
会导致:“NameError: name ‘age’ is not defined.”
改过:
4、字符串与非字符串连贯
谬误:
非字符串和字符串连贯的时候,要将非字符串 转换为字符串 类型之后能力连贯。
改过:
大家来猜一猜输入
1 + int(‘1’)
‘1’+ str(1)
会有怎么不同的后果呢?
1 + int(‘1’) 输入的后果是 2。
‘1’+ str(1) 的输入后果是 11。
5、列表的索引地位
有些同学会习惯性地认为列表元素的地位是从 1 开始的:
零碎这时就会提醒:“list index out of range.”
可别忘了,列表元素的地位是 从 0 开始 的,所以第 3 个元素“mouse”的索引地位是 2。
改过:
6、应用自增“++”自减“–”
学过 C 语言或者 Java 的人会很习惯应用 i ++ 或者 i –,但在 Python 中是 没有 自增自减操作符的:
这时能够应用“+=”来代替“++”
改过:
7、应用关键字命名变量
Python 3 中一共 33 个 关键字:
👉False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,raise,return,try,while,with,yield👈
自定义变量时,变量名 不能 和这些关键字反复。
8、索引元素地位时遗记调用 len 办法
通过索引地位来获取列表元素时,遗记要 先应用 len 函数来获取列表的长度:
改过:
9、函数中的局部变量赋值前被应用:
第一行定义了一个全局变量 num ➡️函数 myFunction()也定义了一个同名的局部变量➡️程序执行时是先查找局部变量的➡️在函数中找到 num 之后就不到内部查找了➡️此时就会呈现 print 的时候变量 num 还没赋值的谬误。
10、缩进问题
和其余语言的语法最大的不同就是,Python 不能用括号来示意语句块,也不能用开始或完结标志符来示意,而是 靠缩进来辨别代码块 的。
常见的谬误用法:
(1)第一种
谬误是第二行的缩进会导致两个 print 语句是蕴含和被蕴含的关系,但他们两者是 属于同一个代码块 的,所以应该写成:
(2)第二种
谬误是第三行的缩进,改过的办法有两种。
一是如果两个 print 语句是属于同一代码块的,应该改过为:
二是如果第三行的 print 语句是和 if 语句是同一级的,则改过为:
(3)第三种
在 Python 3 中,缩进的时候,不能 Tab 和空格混用,每个缩进档次应该抉择只应用 Tab 或者只应用空格。