学Python快两年了,我从一个连print都要查拼写的小白,到现在能写简单的密码检测器,回头看看,我走过的弯路可以绕地球半圈。

今天就把我犯过的三个最蠢、最基础、也最典型的错误整理出来,给刚入门的朋友当个“避坑指南”。

错误一:变量名乱打,第二天自己都看不懂
刚开始学Python的时候,我根本不知道“变量命名规范”是什么意思。每次写代码,随手打一串字母:qweasd、zxcvbn、asdfgh——反正能运行就行,管它呢。

结果第二天打开代码,看着满屏的qweasd、zxcvbn、asdfgh,完全忘了哪个是用户名、哪个是密码、哪个是分数。

我花了半小时重新调试,最后把变量名全改成了cat1、cat2、dog3。

弟弟路过看了一眼:“姐,你写的是动物园吗?”

我:“……”

后来我学到的:

变量名要能“望文生义”,比如user_name、password、score

可以用下划线连接多个单词,比如student_id

可以查一下“Python命名规范”(PEP 8),不用全背,先记住“别用qweasd”就行

错误代码示例:

python
qweasd = "陈艺馨"
zxcvbn = 11
asdfgh = True
正确写法:

python
name = "陈艺馨"
age = 11
is_student = True

错误二:缩进混用空格和Tab,报错半小时
刚学Python的时候,我知道缩进很重要,但不知道“到底多重要”。

有一次我写了一个if语句,下面缩进了一行代码,运行——报错。我检查了拼写,没错;检查了括号,没错;检查了等号,也没错。我盯着屏幕看了五分钟,差点把电脑重启。

最后弟弟走过来,看了一眼,说:“姐,你这一行前面用的是空格,下面一行用的是Tab。”

我仔细一看……还真是。

Python说:缩进必须统一,要么全是空格,要么全是Tab,不能混用。

我弟弟一个一年级小孩,居然比我先发现bug。那一刻我感觉自己的“黑客尊严”碎了一地。

后来我学到的:

在编辑器里开启“显示空格和Tab”的功能(VS Code里可以设置)

选定一种方式,全程用同一种(推荐用空格)

写代码之前先设置好编辑器的缩进规则

错误代码示例(肉眼看不出来):

python
if age >= 18:
    print("你是成年人了")   # 前面是空格
    print("可以去考驾照")   # 前面是Tab,报错!
正确写法(统一缩进):

python
if age >= 18:
    print("你是成年人了")
    print("可以去考驾照")   # 统一用空格

错误三:忘记冒号、少括号、拼错函数名
这三个错误堪称“Python入门三件套”,我至今偶尔还会犯。

忘记冒号:if age >= 18 后面忘了写冒号,运行报错SyntaxError: invalid syntax。我盯着屏幕想了半天,最后发现是少了一个:。

少括号:print("hello" 少了一个右括号,报错SyntaxError: unexpected EOF while parsing。我检查了缩进、检查了变量名,最后发现是括号没关。

拼错函数名:把print打成prnit、input打成inpout、len打成lne。报错NameError: name 'xxx' is not defined。其实不是“未定义”,是“打错了”。

后来我学到的:

写完一行代码,先检查冒号和括号是否配对

编辑器一般会高亮提示,不要急着关掉报错信息,仔细读一下

常见函数名可以记在小本子上,或者靠编辑器的自动补全功能

错误示例:

python
if age >= 18   # 忘记冒号,报错
    print("成年了"

# 上面这一行:if缺冒号,print缺右括号
正确写法:

python
if age >= 18:
    print("成年了")
总结
这三个错误看起来很小,但对于新手来说,它们会消耗大量时间和信心。我后来慢慢学会:

变量名要有意义,不要考验自己的记忆力

统一缩进方式,避免空格和Tab混用

写完一行先检查冒号、括号,再运行

犯这些错误不代表你“不会编程”,而是说明你正在“成为会编程的人”的路上。

如果你也犯过类似的错误——欢迎在评论区告诉我,看看我们有没有“同款翻车”。

更多推荐