你想自学python?我劝你还是算了吧!!

近几年Python大火,“学习Python”仿佛变成了口头禅,变成了很多程序员的小目标。但是不得不说,每一个编程语言学习起来都不是那么简单,而Python又是其中比较难的编程语言。

有很多朋友们在学习Python的过程中总是容易被“劝退”,课程太难、学习资料复杂或者自己怎么都是得不着要领……但我觉得,还有一部分原因出在帮你学习的“领路人”上,不论这个领路人是授课的老师、学习资料的编写者还是什么人,如果他们不能思路清晰的把路开拓好,咱们学习的人在学习的过程中就很容易绕弯子、兜圈子,学不明白还半途劝退。

其次就是缺少一个学习Python的一个思路或者更好的学习角度将Python变得相对容易。

所以为什么自学Python学不进去,思路技巧不对、材料不对、领路人不对都是其中的原因。我想题主的问题不单单仅是为了想让大家说出学不进去的理由,更多的还是想让大家分享到底怎么才能学进去!

那么我们可以来看看技术大佬“Facebook资深工程师”景霄逐步突破,成为Python高手的学习心法:

不同语言,需融会贯通

其实,如果你在学一门语言的时候多阅读、多练习、多思考,你就会发现,不同语言都是类似的。编程语言本就是人类控制计算机的指令,语法规则等方面自然大同小异。

而在原有基础上,学习一门新的编程语言,其实也没有那么难,你首先要做到的是明确区分。比如,在学习 Python 的条件与循环语句时,多回忆一下其他语言的语法是怎样的。再如,遇到 Python 中的相加时,你能分析出它的复杂度吗?再联想到其他语言,比如 Java 中字符串相加的复杂度,它们之间有什么相同点、又有什么区别呢?

除了能够明确区分语言的不同点,我们还要能联系起来灵活运用。比如,最典型的“编程语言两问”:

你了解你学过的每种编程语言的特点吗?
你能根据不同的产品需求,选用合适的编程语言吗?

举个例子,Python 的优点之一是特别擅长数据分析,所以广泛应用于人工智能、机器学习等领域,如机器学习中 TensorFlow 的框架,就是用 Python 写的。但是涉及到底层的矩阵运算等等,还是要依赖于 C++ 完成,因为 C++ 的速度快,运行效率更高。

事实上,很多公司都是这样,服务器端开发基于 Python,但底层的基础架构依赖于 C++。这就是典型的“不同需求选用不同语言”。毕竟,你要明白,哪怕只是几十到几百毫秒的速度差距,对于公司、对于用户体验来说都是决定性的。

唯一语言,可循序渐进

当然,如果 Python 是你学的第一门编程语言,那也不必担心。我们知道,虽然同为人机交互的桥梁,Python 语言比起 C++、Java 等主流语言,语法更简洁,也更接近英语,对编程世界的新人还是很友好的,这也是其显著优点。这种情况下,你要做的就是专注于 Python 这一门语言,明确学习的重点,把握好节奏循序渐进地学习。

根据我多年的学习工作经验,我把编程语言的学习重点,总结成了下面这三步,无论你是否有其他语言的基础,都可以对照来做,稳步进阶。

第一步:大厦之基,勤加练习

任何一门编程语言,其覆盖范围都是相当广泛的,从基本的变量赋值、条件循环,到并发编程、Web 开发等等,我想市面上几乎没有任何一本书能够罗列完全。

所以,我建议你,在掌握必要的基础时,就得多上手操作了。千万不要等到把教材上所有东西都学完了才开始,因为到那时候你会发现,前面好不容易记住的一堆东西似乎又忘记了。计算机科学是一门十分讲究实战的学科,因此越早上手练习,练得越多越勤,就越好。

不过,到底什么叫做必要的基础呢?以 Python 为例,如果你能够理解变量间的赋值、基本的、条件与循环语句、函数的用法,那么你就达到了第一步的底线标准,应该开始在课下多多练习了。

比方说,你可以自己动手编程做一个简易的计算器,这应该也是大多数程序员实操的第一个小项目。用户输入数字和运算符后,你的程序能够检查输入是否合法并且返回正确的结果吗?

在做这个小项目的过程中,你可能会遇到不少问题。我的建议是,遇到不懂的问题时,多去Stack Overflow上查询,这样你还能阅读别人优秀的代码,借鉴别人的思路,对于你的学习肯定大有帮助。当然,实在解决不了的问题,也可以写在留言区,我们一起来解决。

第二步:代码规范,必不可少

诚然,学习编程讲究快和高效。但是,与此同时,请一定不要忽略每一种语言必要的编程规范。在你自己刚开始写代码练习时,你可以不写单元测试,但总不能几百行的代码却没有一个函数,而是从头顺序写到尾吧?你可以省略一些可有可无的,但总不能把很多行代码全部并到一行吧?

比如,我们来看下面这行代码:

v.A(param1, param2, param3).B(param4, param5).C(param6, param7).D()

显然,这样写十分不科学,应该把它拆分成多行:

v.A(param1, param2, param3) \ # 字符’'表示换行
.B(param4, param5)
.C(param6, param7)
.D()

再比如,和函数的命名虽有一定的随意性,但一定要有意义。如果你图省事,直接把变量依次命名为 v1、v2、v3 等,把依次命名为 func1、func2、func3 等等,不仅让其他人难理解,就算是你自己,日后维护起来都费劲儿。

一名优秀的程序员,一定遵守编程语言的代码规范。像 Facebook 的工程师,每次写完代码都必须经过别人的 review 才能提交。如果有不遵守代码规范的例子,哪怕只是一个函数或是一个变量的命名,我们都会要求原作者加以修改,严格规范才能保证代码库的代码质量。

第三步:开发经验,质的突破

想要真正熟练地掌握 Python 或者是任何一门其他的编程语言,拥有大中型产品的开发经验是必不可少的。因为实战经验才能让你站得更高,望得更远。

比如我们每天都在用搜索引擎,但你了解一个搜索引擎的服务器端实现吗?这是一个典型的面向对象设计,你需要定义一系列相关的类和函数,需要从产品需求、代码复杂度、效率以及可读性等多个方面考虑,同时,上线后还要进行各种优化等等。

当然,在专栏里我没办法让你完成一个上亿用户级的实践产品,但是我会把自己这些年的开发经验倾囊相授,并通过这个实战案例,带你踏入“高级战场”,帮你掌握必要的开发知识。

最后,景霄老师专门为你绘制了一张 Python 学习的知识图谱,里面涵盖了 Python 最高频的核心知识,大部分内容我在专栏中都会讲到。你可以保存或者打印出来,作为学习参考。

在这里插入图片描述

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。在这里插入图片描述

二、Python必备开发工具

在这里插入图片描述

三、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。(文末领读者福利
在这里插入图片描述
在这里插入图片描述

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。(文末领读者福利
在这里插入图片描述

五、Python练习题

检查学习结果。
在这里插入图片描述

六、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。 (文末领取哦
在这里插入图片描述
在这里插入图片描述

这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值