Python老司机给上路新手的3点忠告

枫铃4年前 (2021-07-09)Python253

在你学习编程的过程中,是否有过以下经历,或正在面临类似的局面:

● 网上找了很多资料,不知道从哪里看起
● 买了本书,过了很久也没有看完第一章
● 开始还能跟着写几行代码,后来突然就看不懂了
● 也看了些教程和视频,似乎明白了,但还是没法自己写代码
● 入门了很多次,每次过两个月就又全忘了

对于初学者,尤其是自学者,太多问题可能成为你编程之路上的坎,一不小心就从入门到放弃了。

1 你需要一个明确的学习目标

很多人会说,我有目标啊,就是要学会编程,然后还要找份高薪的程序员工作。这是一种目标,但不是明确的、具体的、可执行的学习目标。这就好比说“我要幸福”、“我要做自己想做的事”但没有具体标准一样,对你的行动没有任何指导意义。

你要学编程,是为了去写一个自动脚本抢票抢优惠券,还是平常处理大量文件时候可以自动化?是为了验证你股票上的交易策略是否可靠,还是做一个网页推广自己的品牌?如果你的目标是为了找工作,那是想做开发游戏还是桌面软件,是数据处理还是网站,前端还是后端?编程是一个很广泛的概念,明确你的目的,学习时才能有方向,也更能坚持下去。

也许有不少人觉得,我也不清楚,只是想多学个技能,总归会有好处吧。而且我都还没学呢,怎么知道之后要做什么?这个出发点可以理解,但我仍然建议:必须给自己定一个小目标。哪怕你开脑洞随便想一个需求也是好的。不然这种先学了再说的状态很难让你坚持下去。

你不必担心定错了目标就走上了弯路,它总比没有目标要好多了。它只是你学习初期的一个里程碑,等你能顺利完成它,后面还有更多的目标供你选择。

2 先建立整体的认知

在软件开发领域有这样一句话:

过早的优化是万恶之源。

在编程学习里同样有效。很多人会追求某种一步到位的终极路线,表现出来就是:

● 希望别人推荐一套最佳教程
● 先理论后实践
● 钻入细节的牛角尖

似乎看起来没什么不对,明确路线、打好基础、按部就班,很符合一贯的教育理念啊。就好像你执意要优化你的代码一样,如果我说你这么做是错的,倒显得我有问题。

但事情是分时机的,正确的事情在不合适的时间去做,就会导致错误的结果。过早地陷入局部细节,追求理论基础,很容易让初学者困惑,以至于在某个点上卡壳,无法继续学习下去。浅显易懂和专业性强本来就是很难调和的两个维度,很多教程之所以优秀,是因为它内容体系完善,但对于你来说真的合适吗?

对于早期学习者,尤其是非专业的自学者来说,囫囵吞枣、不求甚解才是更合理的打开方式。
在这里插入图片描述
借用网上的这张图,编程与之很类似。如果说图上的点是编程相关的各种概念和技术,学习的过程就好比绘制这张图:你通过学习,了解了这些技能点,并将其连接起来。

一种绘制方法就是先画好一个点的细节,再从这个点出发精确画出通往下一个点的线,依次一个个画下去。这是种看似稳妥,实际上却低效且很容易出错的方式。更合理的方法是:先确定纸上点的大体分布,画出他们的轮廓,然后画好关键位置上的点,连接关键点,之后再逐步完善分支和细节。

学习编程是一个反复迂回、不断迭代的过程,而不是一路到底的单行道。

在刚接触编程的时候,你根本无须在意太多细节,而是更应该对编程有个直观的印象,知道技术能够实现什么,体会编程的乐趣。这和上一点是相辅相成的:当你有了一个目标,就可以去了解达到目标需要哪些知识点、怎样的学习路径,以此来确立自己要学习的内容;而当你对编程的有一个整体的认知,又会更清楚自己学了编程可以做什么,让自己的目标更明确。

3 选择合适的起点和路线

在有了明确的目标,建立了整体的认知之后,接下来的事情就很自然了:选择一个合适你的起点,朝着通往目标的方向,开始你的学习,点亮技能图谱上的点,并将其连接起来。否则,盲目地从一个不恰当的地方开始,比如选了一本起点较高的书,或是上手就去折腾某个框架,就会事倍功半,效率很低,甚至导致放弃。所谓“欲速则不达”,就是这个道理。

如果你做了上一点,有些基本的整体认知,自然就会明白那些“21天精通XX”、“两个月成为数据分析师”的宣传语有多荒唐。

以上三点,通俗来说就是,你要弄清楚:

  1. 学了干嘛
  2. 学哪些内容
  3. 从哪学起

你去随便找一款目前市面上流行的手机游戏,会发现它们的新手引导也是类似的套路:

  1. 向你说明游戏的胜利条件,引导你取得一场胜利(明确目标)

  2. 让你体验一套高级别高配置的阵容(整体的认知)

  3. 指导你游戏基本操作和初期的升级(起点和路线)

这些游戏经过精心设计,力求让玩家成瘾。对于学习也是如此,让自己尽快“上瘾”,才能深入下去。

相关文章

利用python同步windows和linux文件

写python脚本的初衷,每次在windows编辑完文件后,想同步到linux上去,只能够登录服务器,...

爬虫基本原理

爬虫基本原理 一、爬虫是什么? 百度百科和维基百科对网络爬虫的定义:简单来说爬虫就是抓取目标网站内容的工具,一般是根据定义的行...

Django 函数和方法的区别

函数和方法的区别 1、函数要手动传self,方法不用传 2、如果是一个函数,用类名去调用,如果是一个方法...

Django 知识补漏单例模式

单例模式:(说白了就是)创建一个类的实例。在 Python 中,我们可以用多种方法来实现单例模式&#x...

Django基础知识MTV

Django简介 Django是使用Python编写的一个开源Web框架。可以用它来快速搭建一个高性能的网站。 Django也是一个MVC框架。但是在Dj...

Python mysql 索引原理与慢查询优化

一 介绍 为何要有索引? 一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。