从一开始着手学习 Python 到现在已经半年了。不敢说自己已经驾驭的多熟练,但讲真 Python 确实是一门低门槛的语言。
关注公号比较早的读者应该很了解我,这个公号里面大部分都是实战的项目,从WebHubBot 到 NCMbot ,以及小程序的后台,统统都是 Python 来实现的。那么回到主题,我们到底如何自学 Python 呢?
其实 Python 非常适合初学者上手,相比较于其他主流编程语言,它有更好的可读性。以及非常丰富的第三方组件库,我们几乎不用再做“重复造轮子”的工作。其次,开发环境也是极其易配。
很多读者,以及我的圈内好友在看到我一直在学习 Python 的时候,都会问我一个问题,“我该如何学习 Python?”。通常情况下,我都会回答,让他们去学习 廖雪峰老师整理的教程。
因为我完全就是通过网上资源自学 Python 的。一下午时间浏览完廖雪峰 Python 教程的基础篇。之后就开始上手项目,同时一步步再补充其他知识点。
结合这半年的学习,我个人整理了主要的几个经验:
1、很多老司机都推荐新人找一本书来看,当然,如果你有充足的时间,那么就找一本浅显易懂的书,从头到尾看下去,同时把所有的例子都动手跑一边。但你觉得自己的时间并不多,想快速掌握这门语言,那么我极力推荐廖雪峰的Python 教程。因为我确实是从这个教程里面学到了很多,不懂得地方在查资料去补充。
2、找一个实际的项目去练手。我当时是因为要写一个爬虫项目,爬取 Instagram 的图片,如果选择用 Java 的话就太笨重了。因此不得以我就选择了学习 Python。在这种条件下的效果比你平时学一门语言的效果要很多。所以,最好的状态就是去做一个实际的项目。比如去搭建一个自己的博客网站。
3、找到一个已经会 Python 的司机。让他给你指出一条路子,同时在遇到卡壳的地方就找他指点。这样将会事半功倍,当然别人的时间也是有限的,所以当你遇到问题的时候,第一步应该是去搜索查找问题。
当然,别人的经验未必就适用于你自己。虽然上面我说过只花了一下午的时间就掌握了 Python 的基础知识,那是因为我已经掌握了其他的开发语言如 Java、JS等等的。
对于一个完全没有编程经验的初学者,在学习 Python 的时候,面对的不仅仅是 Python 这门语言,还需要面临编程届的一些普遍问题,比如:
1、从零开始,根本不知道从何入手,书籍看到第二章就看不懂了
2、遇到问题不知道如何寻找解决方案
3、缺少计算机基础知识,被一些教程中略过的“常识性”问题卡住
4、看懂了语法之后不知道拿来做什么,学完一阵子就忘了
5、缺少数据结构、设计模式等等的编程基础知识
所以除了之前说过的那三点经验,给初学编程者的额外建议:
1、切勿浮躁,自信是成功的开始,虽然你已经看了很长时间的资料,但还是不能把程序跑起来。但相信我,几乎所有程序员一开始都是这样的状态,也都是一步步折腾过来的。
2、选择合适的教程。有些书籍是很经典,但未必就适合你。
3、多动手。不要只顾着看教程,一定要亲自动手让这些程序在自己电脑跑起来。
4、额外的知识,如英语、计算机基础知识
5、要学会看别人代码。这里推荐多使用 Github。之前我也整理过一系列的 Github 教程。Github系列教程一 「开门」Github系列教程二 「加入Github」Github系列教程三 「上手Git」
6、学会查看官方文档
那么、
为什么一直以来我都极力推荐每一个开发者都要学会使用 Python。是因为这门语言真的很简单,我所说的简单是相比较于 C 和 C++ 这样的语言你需要学习很多底层的知识。
有的人学习 Python 是觉得工资高,其实这样的人比较危险但也是比较有激励的,还有就是觉得 Python 比其他语言好用。
其实我个人一直很看好 Python 的前景,因为我认识的很多工程师都已经在学 Python,当然很多都是月收入大几万的。
当然,我个人并非一直用 Python ,我现在是一个 Android 开发者,学 Python 的初衷只是觉得在某些场景下用 Python 去实现比其他语言会好用很多,因此我一直在学习 Python,毕竟技多不压身,同时一直坚信 Python 在未来几年内必定会有大的前景。
同时,学习某一门语言千万别抱着等等看的想法。对于一个技术人员而言,缺乏对新技术的渴望和热情,这是一件非常危险的事情。之前有看到过一则新闻,有个老外的演讲,说自己50多岁了仍然坚持每天写代码,了解最新的动态,所以他才能做到他们公司的首席科学家,因此他才能时刻指导项目团队前进并保证项目的质量。他同时坦言对于一个不写代码、不了解最新技术动态的技术人员或者技术团队的负责人而言,这种团队也就足够做做小项目,一旦压力和项目过大,就会有很多问题暴露出来。
对于一个新人而言,无论学习什么技术,都要以鼓励的姿态出现。太多用薪水和你个人所看到的现状去衡量一门技术,那绝对是欠缺眼光的。任何一门技术,一旦有人去学习,他就有可能逐渐成为这个领域的专家,即便是再烂再没人用的开发语言技术,他也有可能就是明日的奠基者或者大佬。
最后,学习是对自己最好的投资,而机会属于有准备的人,这是一个看脸的时代,但最终拼的还是实力。人与人之间的差距不在于智商,而在于如何利用业余时间,所以没有等出来的辉煌,只有干出来的精彩。
其实只要你想学习,什么时候开始都不晚,不要担心这担心那,你只需要努力,剩下的交给时间,而你之所以没有变强,只因你还不够努力,要记得付出不亚于任何人的努力。
长摁‘识别二维码’,一起进步
生活不止眼前的苟且,还有手下的代码、
和嘴上的扯淡
——
个人博客: http://xiyoumc.0x2048.com/
Github:https://www.github.com/xiyouMc