鱼C-小师妹 发表于 2021-1-19 08:50:56

番外:几个新手总会踩的“坑”(上)|【辛 酸 血 泪】

本帖最后由 鱼C-小师妹 于 2021-9-30 08:46 编辑



纵观目前 Python 板块的问题求助和解决数,小师妹整理出以下 10 条“新手必踩坑”

哈哈哈, 到现在小师妹偶尔也会踩下{:10_266:}

废话不多说,开始!


1、多余的符号

在其他语言中作为一名新手,最常见的问题,可能是老忘写某些符号。

但由于 Python 自身的简洁和易用,新手或者一些新学 Py 的老鸟可能会多写符号!

Python 与大多数编程语言不相同,它的语句后面不需要加分号结尾。

有其他语言经验的老鸟,很容易一时适应不来,经常习惯性的加上“分号”:

a = 520# 正确
a = 520; # 错误

除了 ; 还有括号。

在 Python 中,if/witch 语句的表达式部分并不需要加小括号(虽然加上程序仍可运行),与很多编程语言不同。

也是很容易不小心就顺手写了:

if a > b:   # 正确
    print(a)
if (a > b): # 错误
    print(a)

2、惯性思维赋值和拼接

判断两个表达式/变量/常量/引用相等,应使用关系运算符 == ,而不是赋值运算符 =。

新手很容易按照自己以往的九年义务教育经验,将程序中的 =,理解为等于。

从而写判断时会这样:

if (a = b):# 错误
    print("相等!")
在程序的世界中,等于都是用 ==,而 = 代表赋值。

所以上面判断代码正确写法:

if a == b:   # 正确
    print("相等!")
拼接也是大同小异,属于一向“认为”导致的错误。

字符串与其它数据类型的数据相加,这在有一些编程语言中支持,从而达到字符串拼接效果。

但 Python 并不支持哦!

print('我爱' + str(fishc) + '鱼C') # 正确
print('我爱' + fishc + '鱼C')      # 错误

3、乱用关键字和缩进

Python3 一共有 33 个关键字:

and,as,assert,break,class,continue,def,del,elif,else,except,finally,False,for,from,global,if,import,in,is,lambda,None,nonlocal,not,or,pass,raise,return,True,try,while,with,yield
很多新手命名会不小心起成“关键字”,既然被官方征用,那么你用肯定就会报错哦!

变量命名、函数命名、类命名均应避免使用关键字。

语句的缩进在 Python 语言中是非常重要的!

缩进区分了语句的层次,同一层次的语句需要同一缩进宽度:

for i in range(520):   
    print("我爱鱼C")   # 循环内的语句   
    print("我爱Python") # 循环内的语句
print("小师妹棒棒哒")      # 循环外的语句

4、不符合最新语法规定

这种错误数不胜数,被踩的概率最高!

随着 Python 版本迭代的升级,方法也是推陈出新,难免一不小心就出错。

但有些很基础的像:修改字符串元素、方法名写错、传入参数不对、越界问题等等等...

这些只要心细就能避免,很简单,就拿修改字符串元素来说。

小甲鱼老师在最新版 Python 中讲到字符串,首先就强调:不要修改字符串元素。

但肯定有童鞋会这么写:

s = "hello world!"
s = 'H'# 错误
越界也是,就拿 list 索引来说:

a =

a 有 6 个元素,通过 a -- a 可正常访问。

但是不存在 a,访问则报错,记住索引是从 0 开始的哦!

关于这类错误呢,小师妹只能说:

如果你想成为更好的程序员,这种白痴错只允许犯一次!
如果下次让我在 Python 板块,看到谁老这种错导致的求助帖,哼哼,扣鱼币{:10_256:}

开玩笑啦,小师妹哪里舍得呢?!

最后小师妹想说:

**** Hidden Message *****

欢迎下方留言没提到的坑,大家一起交流学习进步!!

在现视频:

https://www.bilibili.com/video/BV1HT4y1K7DY

法宝爷爷 发表于 2021-1-19 11:35:32

真实

心驰神往 发表于 2021-1-21 08:27:24

坑坑

qq1151985918 发表于 2021-1-21 09:18:37

{:9_227:}

Python初学者8号 发表于 2021-1-21 09:20:54

哈哈,我才发现字符串不可修改,谢谢你啊

靳子轩 发表于 2021-1-21 15:34:13

?

VScodeis 发表于 2021-1-21 16:17:21

??

Minecraft程序猿 发表于 2021-1-21 17:23:12

{:10_256:}

_2_ 发表于 2021-1-21 21:29:27

过 于 真 实

tigerPython2019 发表于 2021-1-22 16:28:33

_2_ 发表于 2021-1-21 21:29
过 于 真 实

完 全 没 错

Daniel_Zhang 发表于 2021-1-23 00:07:32

其实吧,最常见的应该是使用了中文符号

要么就是漏掉了符号{:10_261:}

不会起名字的我 发表于 2021-1-23 19:11:24

太真实了!

18090730609 发表于 2021-1-24 07:40:51

谢谢分享!

戈壁小王 发表于 2021-1-24 21:22:44

确实有踩到,尤其是第一个居然改不了

alexxie 发表于 2021-1-25 13:55:01

总结的很好,学习了

Ⅲ只小猪 发表于 2021-1-25 17:51:52

{:9_232:}

SSRD 发表于 2021-1-30 14:49:42

好家伙\(////)\

zzxzrm 发表于 2021-2-27 21:47:00

嘿,亲爱的鱼油,每天都要过得开心哦^_^

Danny_QW 发表于 2021-5-16 21:41:44

萌新学习中

小古比鱼 发表于 2021-5-23 17:20:48

最后小师妹想说:出错不可怕,低级错误一而再再而三地犯,不认真归因整理,真的要打PP喽!
页: [1] 2 3
查看完整版本: 番外:几个新手总会踩的“坑”(上)|【辛 酸 血 泪】