干货|学Python,请避开这些坑!

学Python时,我们总是会遇到一些奇奇怪怪的问题。为了避免您也会遇到此类问题,我们选取了《Python实战圈》的部分常见错误汇总。闲话不多说,直接上干货。

点击关注,私信发送“资料”“Python”就可获得Python学习资料

具体如下:

'xxx' is not defined

干货|学Python,请避开这些坑!

原因: 此类问题是因为 没有定义变量

解决方法: 定义错误提出的变量,本例子中 添加add变量

SyntaxError: invalid syntax

干货|学Python,请避开这些坑!

原因: 此类因为 代码不符合python语法格式

解决方法:找到错误的语句,然后根据python定义修改语法。本例子中,def 没有空格 与init

python注释不需要反斜杠/

干货|学Python,请避开这些坑!

原因:您肯定是老码农,java 或者c语言转过来的。python的注释代码是 #或者"""

解决方法:去掉/ 。

注意事项:学习python的时候,一定要忘记java等其他语言的语法

Unresovled referrence 'self'

干货|学Python,请避开这些坑!

原因:python语法是以冒号结尾,而不是分号。该类问题也是老程序员常见的问题,java 等语言的结束需要; 而python是冒号

解决方法:修改分号为冒号

‘str’ object is not callable

干货|学Python,请避开这些坑!

原因:可能你前面有str变量,不要用关键字作为变量名

解决方法:找到str的变量名,然后修改名字

点击关注,私信发送“资料”“Python”就可获得Python学习资料

缩进问题

和其他语言的语法最大的不同就是,Python不能用括号来表示语句块,也不能用开始或结束标志符来表示,而是靠缩进来区分代码块的。

常见的错误用法:

(1)

print('Hello')
 print('World!')

错误是第二行的缩进会导致两个print语句是包含和被包含的关系,但他们两者是属于同一个代码块的,所以应该写成;

print('Hello')
print('World!')

(2)

if spam == 42:
 print('Hello')
 print('World!')

错误是第三行的缩进,改正的方法有两种,一是如果两个print语句是属于同一代码块的,应该改正为

if spam == 42:
 print('Hello')
 print('World!')

二是如果第三行的print语句是和if语句是同一级的,则改正为

if spam == 42:
 print('Hello')
print('World!')

(3)在Python 3中,缩进的时候,不能Tab和空格混用,每个缩进层次应该选择只使用Tab或者只使用空格。

相关推荐