https://cloud.tencent.com/developer/column/80216?tag=10169

避雷!零基础菜鸟Python入门避雷手册!

发布于 2022-09-22 16:46:29 5140 举报 文章被收录于专栏:毛利学Python 学习Python也是有很多坑的,小白需要避免的总结了以下几点:
  • 学习路径不明确
  • 细节不注意,bug找到疯
  • 学习资源喜欢囤几个G
  • 半路劝退型
  • 纸上谈兵型:沉浸理论学习,动手能力差,不知道如何在实际的项目中去应用,缺乏解决问题的能力。
  • 遇到问题卡壳:遇到问题不知道如何寻找解决办法,甚至连问题都描述不清楚,经常被一些细小的问题卡住,学习效率不高。

学习建议 - 图1

避雷1:劝退坑

知乎关于 python 学不下去、学完容易忘等等问题都有百万的阅读量,关注这类问题的人也有上千,python 从入门到放弃这似乎是很常见的现象。

这是我写过回答的一篇帖子:

学习建议 - 图2

为什么有这种现象呢? 因为所有人在一开始学习 python 的时候就预估错误了 python 难度! 虽然小学生学习两周就能上手的 python,但是,那仅仅是前两周的学习内容,越往后那难度基本上都是指数上涨,像下图这样:

学习建议 - 图3

所以往往有人学到第一个困难拐点的时候,就不断的心生退意。 然后开始敲起十二级退堂鼓,本来准备转行的人员则想像目前工作也不是不能忍受,本来准备求职 python 的伙伴觉得也不是不能去投销售岗。 但要知道,只有不断经历了苦难拐点的学习者才能从内卷大军里卷出来,才有资格去卷下一个赛道。

怎么避坑:

① 战略上轻视 python,战术上重视 python。 ② 安排学习节奏,每天或者每周固定学习内容,养成一种时间上的惯性。 ③ 设置 deadline,把学习目的进行分解,按照一个一个 deadline 去安排任务。

代码语言:javascript

复制

  1. 小白基础入门Python基础知识点拆分:
  2. 1)变量和类型
  3. 变量的命名、变量的使用、类型的查询、类型转
  4. 2)数字和字符串以及常用的数据结构
  5. 整数、浮点数、复数、字符串、字符串的操作
  6. 3)字符编码
  7. 列表的使用:列表的定义、元素的增删改查、切片、遍历、下标越界;
  8. 元组的使用:元组的定义、元组与列表的转换、元组的特征等;
  9. 集合的使用:集合的定义、与列表的区别。
  10. 常用操作:交集、并集、差集等;
  11. 字典的使用:字典的定义、字典的增删改查、删除key、遍历
  12. 4)运算符
  13. 算数运算符 :+ 、- 、* /、 %、 **、 //
  14. 比较运算符 :== 、!= 、<>、> 、< 、>= <=
  15. 赋值运算符 : =、 += 、-= 、*=、 /= 、%=、**=、 //=
  16. 逻辑运算符 : andnot or
  17. 位运算 :& 、| ^、 ~ 、<< >>
  18. 成员运算符:innot in
  19. 身份运算符:is is not
  20. 运算符优先级
  21. 5)分支结构
  22. 代码之间的缩进、if-elseif-elif-else、嵌套ifelseelif
  23. 6)循环结构
  24. for循环、while循环、continu关键字、break关键字、return关键字
  25. 7)函数与模块的使用
  26. 函数的作用、def语句、函数中的列表、魔法参数、函数的调用、函数的返回值(无返回值、多个返回值、单个返回值),importfrom ... import .. , from import ..as
  27. 8)面向对象
  28. 理解面向对象;
  29. 面向对象的搜歌特征:抽象、封装、继承、多态;
  30. 什么是类;类的创建、初始化、实例化;属性访问;类的继承;调用父类的方法;内置类属性。
  31. 9)文件的操作
  32. open() 函数;
  33. 读文件的方法:read()、readline()、readlines();
  34. 文件的路径;写文件:覆盖、追加;
  35. 异常处理(try..except..finally) FileNotFoundException...;
  36. 存储&读取JSON格式数据:json.dump()和json.load();
  37. 数据持久化:操作csvexcel
  38. 10、进程与线程
  39. 进程:multiprocessing模块、进程池、进程间的通信
  40. 线程:thread模块、threading模块、Lock类、Condition类、Thread类、线程池
  41. 线程和进程的关系以及区别
  42. 并行和并发
  43. 同步和异步
  44. 创建多线程
除此之外还要熟悉熟悉常用的模块,如re、os、sys、datetime、time、math等,lambda函数,装饰器,生成器,迭代器,魔法函数,计算机网络,协议:http协议、tcp协议、udp协议等基础知识 ④ 及时梳理学习内容,做成像下面这样的思维导图,构造自己的记忆宫殿。

学习建议 - 图4

避雷2:目的坑

学习 python 就像学习抡锤,抡锥子砸钉子,如果只知道抡锤子,却不知道往哪里砸,那抡起起来岂不是索然无味?! 部分人学 python 就像跟风考研一样,别人在学自己也跟着学,没有考虑学python到底是要干嘛,从学python到下一秒放弃。 三分钟热度,因为下一个有意思的东西很快就会代替 python ,例如 pr、c4d 等等,所以学习抡锤子之前至少得有个钉子~

学习建议 - 图5

避坑指南:

明确学习目的,不乏找工作、副业、自媒体、科研任务、兴趣等等,然后再往这些需求的下一层深挖。 越明确学习目的,学习动力越充足。 我之前爬取过上万条招聘信息,然后深挖分析如何去选择 python 岗位,以此为参考,明确我需要掌握的技能基础。

学习建议 - 图6

避雷3:细节坑

好不容易进入状态了,在学习上又不断掉坑…… 写的代码过了些天连自己都不理解是啥意思,刚解决一个 bug,又蹦出来三个 bug……

学习建议 - 图7

想想这样的细节比比皆是; 错误使用变量,整个代码全部都 a、aa、aaa、bbb,最后不仅会让接手你代码的人疯掉,自己再去读代码也会疯掉。 不在意格式细节,时不时就少一冒号,或者多一个空格和 tab。

避坑指南:

① 学习掌握编码规范,例如学习 PEP8 编码规范 ② 多阅读源码,不断进阶 python 的高阶语法

学习建议 - 图8

避雷4:资料坑

收藏了 500 本 python 电子书不代表能学好 python、保存了 5T 的学习资料也不代表能学好 python…… 这是我早期作为学习资料收藏家遇到的坑,不然不至于给百度网盘交那么多会员费!

怎么避坑:

资料三千,只取一份,不一定需要是最全面的那一份~ 只要资料骨架最完整的那一份资料,学完之后,有不会地方只需要查漏补缺即可,而不是一遍又一遍的从头学起。

学习建议 - 图9

例如选择看书,从知乎里爬取了上千条 python 学习攻略,再从十几万字的攻略提取大佬们推荐的 python 书籍,最后归纳分析获取最有有用的学习书籍。 只学推荐次数最多的那三本书,剩下的书籍最多学习一下目录,看看有没有什么漏掉的部分。

避雷5:是否报班?

是否要报班?(ps:家里有矿的可忽略掉这个坑!) 报了班就能学好 python? 报越贵越能学到高深的技能? 在普适教育里,难道技能的获得与学费成正比? 只能笑而不语,你品,你细品……

学习建议 - 图10

当然,我也亲眼见过学编程的六年级小学生,也见过 30 岁的转行者,每个人的背景和心态都千差万别,报班是否合理也不能一概而论。

避坑指南:

是否需要参加培训,因人而异。 首先,自学可以很大程度上锻炼自己的自制力,想要学好Python,需要抵住各种诱惑,同时也节省了一笔培训费。 但是没有系统的学习路线,学的很慢,看似节省了培训费,其实浪费了大量的时间成本,有问题不知道没人帮忙解答,实战项目经验欠缺,毕业在找工作的过程中,是非常看重项目经验的。 对于没有任何基础的人来说,通过培训的方式来掌握Python是一个比较现实的选择。 虽然Python的语法比较简单,但是对于没有基础的人来说,很多概念也很难理解,比如Python中的动态参数、多重继承等概念,在理解上还是颇具难度的。 Python语言是动态语言,同时Python对编程的格式有严格的要求,对于初学者来说,这些内容都需要一定的时间才能适应,如果在学习的过程中能有人指导一下自然会节省不少时间。 越基础的内容,网上资源越是丰盛,而高阶的内容,由于稀缺不付费也很难获得。 非实效性高的内容没必要报班,例如学习数据分析相关,你找个几年前的代码,很大概率就能跑起来,但学习爬虫这样,网上随便找个去年的代码都不一定能运行成功。

学习建议 - 图11

Python无论是学习技能,还是做副业,就像是在一张藏宝地图上玩游戏一样,这些过来人的经验分享、书籍、学习方法等,就像是游戏的攻略,了解存在的坑也能减少restart的次数。