相比与其他语言,Python的语法计较简单易学,但一不注意细节,刚入门的新手很容易就会掉进语法错误的坑里。
正确写法
正确写法
会导致:NameError: name 'age' is not defined.
正确写法
正确写法
列表的元素位置是从0开始的,所以第三个元素“mouse”的 索引位置是2
正确写法
正确写法
正确写法
第一行定义了一个全局变量num,同时函数myFunction()也定义了一个同名的局部变量,但程序执行时是先查找局部变量的,所以在函数中找到num之后就不到外部查找了,此时就会出现print的时候变量num还没有赋值的错误。
错误是第二行的缩进会导致两个print语句是包含和被包含的关系,但他们两者是属于同一个代码块的,所以应该写成
(2)
错误是第三行的缩进,改正的方法有两种:
一是如果两个print语句是属于同一代码块的,应该改正为
二是如果第三行的print语句是和if语句是同一级的,则改为
(3)
在python3中,缩进的时候,不能Tab和空格混用,每个缩进层次应该选择只使用Tab或者使用空格。
忘记写冒号
在if、elif、else、for、while、class、def语句后面忘记添加“:”
错误示例![dcc9ca4cf335e0d9acd2e3958b0113e0.png](https://img-blog.csdnimg.cn/img_convert/dcc9ca4cf335e0d9acd2e3958b0113e0.png)
![cfeede1e21511bac39c39f8fb11f6937.png](https://img-blog.csdnimg.cn/img_convert/cfeede1e21511bac39c39f8fb11f6937.png)
误用“=”做等值比较
“=”是给变量赋值的,“==”才是判断两个值是否相等:
错误示例![1969c81c76a4049365bb7b865ad001b5.png](https://img-blog.csdnimg.cn/img_convert/1969c81c76a4049365bb7b865ad001b5.png)
![f1b26976ea20a2de8698a17a02ade2e5.png](https://img-blog.csdnimg.cn/img_convert/f1b26976ea20a2de8698a17a02ade2e5.png)
变量没有定义
错误示例
![c0b07b3a31511dcb2f7e8ba4dffeda4c.png](https://img-blog.csdnimg.cn/img_convert/c0b07b3a31511dcb2f7e8ba4dffeda4c.png)
![b65784026e9f2b8c052d2ee5f1130f8c.png](https://img-blog.csdnimg.cn/img_convert/b65784026e9f2b8c052d2ee5f1130f8c.png)
字符串与非字符串的链接
非字符串和字符串连接的时候,要将非字符串转换为字符串类型之后才能链接
错误示例![ba77e84934fad6b082c176e43b4af3ed.png](https://img-blog.csdnimg.cn/img_convert/ba77e84934fad6b082c176e43b4af3ed.png)
![97975b97ef6906ebdc1600767cfed8a0.png](https://img-blog.csdnimg.cn/img_convert/97975b97ef6906ebdc1600767cfed8a0.png)
列表的索引位置
习惯性的认为列表元素的位置是从1开始的;
错误示例![dd34cb1ff7f941bba35d835b7cfca141.png](https://img-blog.csdnimg.cn/img_convert/dd34cb1ff7f941bba35d835b7cfca141.png)
![f88f02fb2f7ef08dd26161f74750e1b6.png](https://img-blog.csdnimg.cn/img_convert/f88f02fb2f7ef08dd26161f74750e1b6.png)
使用自增“++”、自减“--”
学过C言和Java的人会很习惯使用i++或者i--,但在python中是没有自增自减操作符的,这时可以使用“+=”来代替“++”。
错误示例![ec7d51bda8ebdd4adfe8b69ec08d71a4.png](https://img-blog.csdnimg.cn/img_convert/ec7d51bda8ebdd4adfe8b69ec08d71a4.png)
![eea1c99e81554b393fa2da28889dee5a.png](https://img-blog.csdnimg.cn/img_convert/eea1c99e81554b393fa2da28889dee5a.png)
索引元素位置时忘记调用len方法
通过索引位置来获取列表元素时,忘记要先使用len函数来获取列表的长度
错误示例![26d6948871a59e29084f2291d1c23f26.png](https://img-blog.csdnimg.cn/img_convert/26d6948871a59e29084f2291d1c23f26.png)
![fd2eb81886cca7a5d924a6de54670fb6.png](https://img-blog.csdnimg.cn/img_convert/fd2eb81886cca7a5d924a6de54670fb6.png)
函数中的局部变量赋值前被使用
![4e06594ab7c133fa6011274e375d228f.png](https://img-blog.csdnimg.cn/img_convert/4e06594ab7c133fa6011274e375d228f.png)
缩进问题
和其他语言语法最大的不同就是,python不能用括号来表示语句块,也不能用开始或结束标志符来表示,而是靠缩进来区分代码块的。
常见错误示例: (1)![87aeb4c9526b983b9fd65158e8693775.png](https://img-blog.csdnimg.cn/img_convert/87aeb4c9526b983b9fd65158e8693775.png)
![8774d165f8353844e3744ef92eba0ad7.png](https://img-blog.csdnimg.cn/img_convert/8774d165f8353844e3744ef92eba0ad7.png)
![ab8bba774e08c14e08e6831ab44cdb10.png](https://img-blog.csdnimg.cn/img_convert/ab8bba774e08c14e08e6831ab44cdb10.png)
![6821bbec804b43182f67711dbc94b8d7.png](https://img-blog.csdnimg.cn/img_convert/6821bbec804b43182f67711dbc94b8d7.png)
![c5d5d628ce1e640068def700d8d4a5cc.png](https://img-blog.csdnimg.cn/img_convert/c5d5d628ce1e640068def700d8d4a5cc.png)
使用关键字命名变量
Python3中一共有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 自定义变量时,变量名不能和这些关键字重复。![39862b30a792ae0f3316f9e1e9abbe01.png](https://img-blog.csdnimg.cn/img_convert/39862b30a792ae0f3316f9e1e9abbe01.png)
扫码关注
获取更多内容
指尖编程
![f420e6af40700eef3e85b990f69fd0a9.png](https://img-blog.csdnimg.cn/img_convert/f420e6af40700eef3e85b990f69fd0a9.png)