这里为什么用 Python 举例呢?
因为在很多人看来,Python 比较“简单”。
写这篇文章主要是因为我在知乎上看到了一条有趣的动态:
该条动态的作者认为一个高考600分以上的人,一天时间能学会 Python,一周时间就能推完 Andrew Ng 的 ML 课程。
恰好,我是一个高考600分以上的人,学过 Python,也看过 Andrew Ng 的 Machine Learning 课程。所以我想设身处地就这个话题聊一聊,到底能不能在短时间内学会 Python,这里我们不限制时间为一天,就一周好了。
我并不反对上图中作者的观点,因为我确实只用了一天就初学和上手了 Python(大学四年级),还写出了小应用。不过这个学习成果存在一个不可忽略的前提条件:在学习 Python 之前,我已经写过两年 C++ 和一年 Java 了。
和没有一点基础的人相比,我已经拥有了大量的编程实践经验和计算机理论知识,所以我能一天上手 Python,并不是非常奇怪和罕见的现象。
1.站在山顶能看见什么?
针对上面的问题,我的观点是:即使是高考600分以上的人,如果没有一定的编程基础,也很难在一周内学会 Python。
当然,也不排除有人是天才,可以速成。但是至今我还没有发现这样的人。我女朋友、我周围的同学,高考都是600分甚至650分以上,但我真的没有见过谁能一天或一周就学会编程的。
那么,更一般的情况是,高考600分以上的人尚且不能一周学会 Python,那些没有600分以下的人是不是更难学会呢?从概率上讲,是的,这里不是歧视,只是阐述一种现象。
但为什么时常有人说可以快速入门 “Python”,是他们在说假话吗?
我想他们并没有说假话,只是忽略了一个关键的问题——我在前文提到的“基础”。有了基础之后,一周入门 Python,速成 Django,一天学会爬虫,这都是再正常不过的事情了。但这些对于完全没有接触过编程的同学来说,实在是难度太大。
之前听过我的一个直系学长关于创业的讲座,我印象最深刻的一幕,是台下的同学请他分享一下自己在创业过程中遇到的困难,他答道——当你走过荆棘、越过重重困难走到山顶的时候,你看到的是一望无际的远方和光明,之前的困难你都会忘得一干二净。
这句话我十分认同,我在第一次高考失利后复读过一年,每当我读到自己在复读时期记录的点滴生活,都会感叹那些日子是多么艰难,却总是忘记那就是我曾经的生活,忘记复读的那个人是我,忘记那些日子究竟有多苦。唯一记得的就是我复读后的成绩——比前一年多考了140多分。
人在经历重重磨难并取得暂时的成功后,会很容易忘记自己受过的苦,记得的只是成功。
所以,当有人告诉你可以快速学会一项大部分人都很难学好的技能时,有三种可能,一是他在装逼,二是他是天才,三是他努力过了却忘记了自己的努力。大部分情况下,是第三种。
一周学不会 Python。
2.Python真的简单吗?
为什么很多人都觉得 Python 简单,到底是谁在说 Python 简单,Python 是否真的简单,如果真的简单它到底简单在哪里?
我想,很多人说 Python 简单指的是“语法”层面的简单。的确如此,Python 和其他编程语言如 C++、Java、PHP、Go 相比,语法要简单很多。
除了语法简单,Python 天然适合和数据打交道,对数据的处理相对其他编程语言也是比较方便,内置的数据结构也比较少。
但是我们很容易忽略一个问题:编程语言不能独立于业务而单独存在,编程是为了解决问题的。各个编程语言都有自己擅长的方面,比如 Linux 内核系统调用、底层交互方面,C++ 可能更占优势;实际业务场景中有大量的计算任务和并发时,可能要达到某一参数指标,Go 会更加简单。
只是语法简单没有用,在能满足业务要求的前提下,谁最容易达成目标,谁才是最简单的。
况且,Python也没有传说中那么简单,只会语法和能做出东西是有本质区别的,就像你会了 Python 语法,但你能做出数据分析吗,能写爬虫吗,能开发 Web 吗?任何一门编程语言往深学,都会成为工具,能用工具完成具体的任务才是真的学好并用好了它。
我喜欢买书,也喜欢看书,下图是我从书柜上随便拿的几本关于Python的书,有的我看完了,有的正在看,有的还没看,每本书都有几百页厚,任何一个方向往深了学,都不简单。
我们学习的时候,千万不能在刚开始的时候就给自己一个心理暗示:这很简单,很容易学好,如果这样,你将很难在学习中坚持下去。
我时常看到一个有趣的现象,不少人都很在意“编程语言排行榜”,如果自己正在学习 Python 或 C++,而 Python 或 C++ 的排名又上升了,他就会格外开心,反之就开始骂爹喊娘。
其实大可不必这样,学习编程的时候一定不要把自己限定在某一门编程语言中。在实际工作中,大多数情况下我们是根据项目来选择合适的编程语言,而不是根据编程语言选择合适的项目。
比如你一直写 C++,但是来了一个适合用 PHP 做的需求,即使你不会 PHP,你也得用 PHP 写。不会写也要一天入门,工作就是这样的,别问我为什么,工作一年半我已经写过 JAVA、JavaScript、C++、PHP、Python、Lua、Go … 而我当初入职面试的岗位是C++工程师…
多了解一点没坏处。
3.一步一个脚印
很多初学编程的朋友对如何入门伤透了脑筋,而我的回答只能是:
其实大家现在学习编程比我们当初的条件好多了,我们刚学编程那会儿,慕课还没有流行起来,我那时学C语言看的还是谭浩强的书。哪里有现在这么方便,动不动就送你1024G资料的福利,掩面。
其实学编程和学外语一样,都是阶梯式进步的,而它的特点就是,在学习很长一段时间后都感受不到进步,但突然某一天就开窍了,想通了很多问题,感受到自己的经验值得到了大幅度的提升,然后又会陷入一段平淡期。
当你多经历几次这样的循环,你就算是学会编程了。
学习编程,我们不应该以天为单位,而应该以年为单位。 如果非得给一个最快能入门的时间,那就定为三个月吧,如果你真的在三个月里用大量的时间投入去看一门课,啃一本书,三个月后你应该会到达一个新的 Level,就算是入门了。
无论如何,加油!如果你想了解我是如何学习编程的,大家记得多多点赞+关注哈~
关于Python学习指南
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、自动化办公等学习教程。带你从零基础系统性的学好Python!
👉Python所有方向的学习路线👈
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取)
👉Python学习视频600合集👈
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
温馨提示:篇幅有限,已打包文件夹,获取方式在:文末
👉Python70个实战练手案例&源码👈
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
👉Python大厂面试资料👈
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
👉Python副业兼职路线&方法👈
学好 Python 不论是就业还是做副业赚钱都不错,但要学会兼职接单还是要有一个学习规划。
👉 这份完整版的Python全套学习资料已经上传,朋友们如果需要可以扫描下方CSDN官方认证二维码或者点击链接免费领取【保证100%免费
】
点击免费领取《CSDN大礼包》:Python入门到进阶资料 & 实战源码 & 兼职接单方法 安全链接免费领取
![](https://i-blog.csdnimg.cn/blog_migrate/039ce0c890de8abf5b267e611f5c4fbf.png)