马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 鱼C-小师妹 于 2021-9-30 08:46 编辑
纵观目前 Python 板块的问题求助和解决数,小师妹整理出以下 10 条“新手必踩坑”
哈哈哈, 到现在小师妹偶尔也会踩下
废话不多说,开始!
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[0] = 'H' # 错误
越界也是,就拿 list 索引来说:
a 有 6 个元素,通过 a[0] -- a[5] 可正常访问。
但是不存在 a[6],访问则报错,记住索引是从 0 开始的哦!
关于这类错误呢,小师妹只能说:
如果你想成为更好的程序员,这种白痴错只允许犯一次!
如果下次让我在 Python 板块,看到谁老这种错导致的求助帖,哼哼,扣鱼币
开玩笑啦,小师妹哪里舍得呢?!
最后小师妹想说:
欢迎下方留言没提到的坑,大家一起交流学习进步!!
在现视频:
|