入门Python的4大陷阱

发布时间:2022-03-11 09:53:00 人气:38 作者:多测师

  Python以语法简单、关键字少著称,因此经常被各大媒体忽悠其是一门非常容易入门的编程语言。他的特定描述自然不言而喻,但其是否容易入门却饱受争议。因为每个人的基础都不一样。

  市面上大部分的 Python 入门书籍的目录都非常长(毕竟缺少某个重要的知识点会被批),但是作为入门来说,真的需要所有的知识点都学习一遍吗?

  对于入门者来说,看着这些书籍目录学习往往会遇到各种陷阱,今天我就来分享一下我的个人观点。

  语法太多了

  Python 的语法规则多不多?其实非常多,如果你学习过一些古老不再更新的编程语言,对比下来你就会发现其实 Python 语法非常多。

  因为 Python 需要适应现代的开发要求,他"逼不得已"需要不断加入新的语法特性,比如像"装饰器"、"海象运算符"等等。

  此时初学者会陷入第一个陷阱——抵受不住"目录"的诱惑,感觉自己跳过了某个知识点就会无法入门。

  作为入门者我是不建议学习这些东西(短期内你大概率用不上)。

  那么,到底需要学习哪些语法?

  · 分支判断

  · 循环

  说白了就是 if 和 for 循环。

  其实,学习这些语法不是要你去记忆怎么写,大部分时候这些语法语句不需要我们亲手敲出每个字母,因为现在的 ide 都非常友好,一般都能提供生成代码段的功能。

入门Python的4大陷阱

  序列的处理非常重要

  当你基本了解 if 和 for 的使用后,下一步就要了解序列的数据结构(列表、元组)。

  此时,初学者会陷入另一个坑——列表有许多方法需要记忆!

  同样地,我也不推荐入门者记忆这些方法,只需要记住最常用的1、2个操作即可。比如:

  · 添加元素:append

  · 移除元素:remove

  同理,字符串也有许多处理方法,通常我们只需要学习少量几个方法即可。

  小伙伴:"?!,就这样子?"

  事实上,后期你可能连上述2个操作都很少用上。因为在 Python 中更倾向于构造新的序列,而非对序列原地操作。

  当你后期学会了推导式之后,你就会发现用得最多的语法就是 if 和 for。

  你可能疑惑,为什么序列的处理很重要?

  不管你学习什么的编程语言,不管你是应用开发还是普通的办公自动化学习,真正复杂的逻辑大部分来自于序列的处理。

  比如一堆文件、每个文件中又会有一堆的数据。

  而简单的单个数据,往往操作也是非常直白简单。

  字典要不要在这个阶段学习?我建议是可以尝试了解,如果发现自己不能理解,那就跳过。因为后期总会有他的应用场景,那时候结合场景学习会更加轻松。

  学习分解问题的思维

  经过上面2个阶段的学习,你会发现自己充其量只能解决小学加减乘除的简单问题,稍微复杂一点的问题你就毫无头绪。

  此时你就陷入了另一个陷阱——一边思考逻辑一边写代码。

  多数入门书籍都不会教你这一点,因为这不是 Python 的特性,但他极其重要。

  编程的本质是把现实逻辑用代码表达出来。

  而现实中,我们要完成一件比较复杂的事情时,都是先考虑整体流程,划分出多个子流程,最后才针对每个子流程考虑细节。

  我的文章少不了案例。

  考虑以下的现实场景:你希望从你家里书架上(有100多本)找出某作者的书。

  你可能觉得这个事情非常简单,不就是从头开始,每本书都看看作者名字,符合就拿出来?

  这个思考过程实际就是从整体到细节的过程:

  1)首先,你会考虑从哪里开始找,总有个搜索方向。比如从书架左上角横向扫过每一行的书。

  2)其次,在没有开始找之前,你就决定找出一本书后,看封面的作者名字。

  3)最后,符合条件要拿出来,与原来的书区别开来。

  注意上述每一点的思考都是在你开始操作之前就决定的,这就是整体到细节的考虑。

  你不会随手拿起一本书,然后才想到底怎么找作者名字?找到又要不要拿出来?这是非常反人类直觉的做法。

  一定要学习自定义函数

  为什么编程语言基本都有自定义函数的特性?因为这符合我们解决问题的思维逻辑

  怎样进阶

  上面的总结(针对入门):

  · 语法学习简单为主(if、for)

  · 基本序列要了解(列表、元组),但其对象操作方法不用特意记忆

  · 学会分解问题的思维

  · 学会自定义函数

  实际上,点3才是最重要,其他点只是为他服务。

  因此,Python 的进阶仍然是围绕点3而展开。

  比如,前面的例子中,整体流程代码中仍然包含了 "取出符合条件的书" 的逻辑,这其实不太合理。那么此时你就学习新的语法知识点,让你能简化整体流程代码。

  以上内容为大家介绍了入门Python的4大陷阱,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注多测师。https://www.e70w.com/xwzx/

返回列表
在线客服
联系方式

热线电话

17727591462

上班时间

周一到周五

二维码
线