Python练级打怪全攻略——从上手到走出新手村

如果说有一种编程语言适合每一个人学习的话,我只能想到Python!当然,有比Python更简单的编程语言,但在简单、实用性、功能强大之间做一个完美的平衡,真的没有别的选择。这篇文章不是来讨论Python有什么优势,为什么要学习Python的,只是想完整的叙述一下,学Python如何从上手到走出新手村。

先来打打鸡血,让我们看看最新的TIOBE编程语言排行榜的前十名 地址
在这里插入图片描述

1. 练级地图

推荐的书籍:

入门篇

《编程小白的第一本 Python 入门书》

这是一本由设计师编写的入门电子书,全书才一百多页,却有着丰富的插图,整本书不尬读,令人身心舒适,一步步引导出读者对编程的兴趣。作者在繁忙的工作之余,自学Python,也踩过许多坑,这本书记录着自学者的心路历程,必然比教科书式的书籍更懂零基础自学者的痛。

注:文末送电子书资料!!!

《Python编程:从入门到实践》

这本书几乎是豆瓣读书中评分最高的Python入门书。简单易懂,深入浅出的将Python的整个知识体系完整的讲授了一遍。最难能可贵的是,除了语法知识体系的讲授,本书还有实践项目的传授,尤其还是开发游戏和web的项目,兼具趣味性和实用性。

书不在多,有用则灵!以上两本足以自学者无痛入门,下面要说的一本虽然也包含入门知识,但更多的意义是在于一些第三方库的应用,核心是帮助自学者初步掌握用代码自动化处理工作,突出的是实用性。

《Python编程快速上手:让繁琐工作自动化》

该书的评分丝毫不亚于上一本,至于哪本更好看,那就是仁者见仁智者见智了,开卷有益,总有一本适合自己。

进阶篇

以上的三本书虽然帮助初学者顺利入门,知识的广度也不欠缺,但在知识的深度上肯定是不够的。要成为一个职业Python程序员,特别是一个编程高手,还远远不够。

《Python核心编程(第3版)》

这本书深入细致的讲解了一个职业Python程序员需要掌握的技术,内容丰富,不可不读。这里强调的是第三版,请认准第三版!因为我们前面学的是Python3,只有第三版才讲解Python3语法的。

《Python高手之路 (第3版)》

编程并不仅仅只是编程语法本身,在实践工作中,需要掌握很多其他的知识技能,包括各种工具的使用,还包括软件测试、性能优化等等,这本书就是作者12年从业经验的浓缩,要想成为一个高手,这本书必不可错过。

成神篇

豪不夸张的说,看懂了以上五本书,你已经是不择不扣的Python高手了,但是距离成为顶级高手,成为大神,仍然欠缺一些距离,欠缺一些火候。

《流畅的Python》

这本书是豆瓣上Python整个系列书籍目前评分最高的,英文原版高达9.6分,即使是中文版也有9.4分。该书不仅深度很深,还深入到了Python知识体系的角角落落,将语言的原理讲通透了。当然,也正是如此,并不适合初学者马上阅读,但是如果你读通了这本书,什么问题也考不倒你,一个顶级Python高手也就诞生了。

拓展篇

在编程的领域,知识并不是局限于编程语言本身,还有一些东西是在编程语言之外的。下面要推荐的一本书本来应该放在进阶篇中,但它其实又与Python语言关系不太大,因此只能单列一篇拓展篇阐述。我们知道,在高级编程语言中,算法知识已经变得不再重用,在Python中更是如此,但是大家仅仅只满足于成为一个Python高手吗?如果你不满足仅仅是Python领域的高手,而是想成为一个技术大牛,一个全方位的顶尖技术高手,算法、数据结构、数据库、网络协议、C语言等等这些是不可不懂的。

《算法图解》

这是一本用Python语言讲解算法的入门书,无痛的算法体验,是多么的美妙!

ps:这是唯一配图的一本书,因为讲算法的书太多,图解算法的书也不少,别找错了
在这里插入图片描述

2. 编程学习的方法

光看书当然是不行的,遇到了问题,总需要有人点拨的,这里就具体谈谈学习的方法问题。我们在遇到编程问题时,一定要学会提问,这一点非常重要,否则没人会理你!

1、提供的信息全面。

在问答网站提问时,一定要注意提供全面的信息,无法描述时,提供全面的现场截图、源代码。否则仅仅只是发一句疑问句,例如XXX报错了、XXX为什么不能用?XXX失败了诸如此类的,一般没人会鸟你。要知道别人不是你的父母老师,没谁有义务有耐心去了解你关心你的问题,这不是世界的恶意,只是你应当学会与这个世界相处的方式。你可以试想一下,程序员都很忙的,回答问题的时候当然是挑最顺眼的,一眼就能看出问题的回答,就好像你写试卷也是先挑最简单最快的题做一样,麻烦的留最后,然后最后就没有最后,不了了之。

2、提问逻辑清晰,语言简洁。

没想清楚的问题就不要问,要提问就想清楚怎么描述,自己先理清逻辑。要知道很多时候这不是付费咨询,回答者是无偿免费提供帮助。要明白你应当先为别人考虑,而不是潜意识要求提供帮助的人从你出发,为你考虑。举个例子,我在知乎上常遇到这样一些私信,例如“在吗?”、“你好,在吗?我有个问题”、“我安装XXX为什么报错啊?”等等,我比较忙或者心情不好时,是直接无视的,不仅我,很多人都会这样。因为这种人是典型的不懂提问的人!我注册这个平台是回答问题的,不是有一搭没一搭的跟你聊天的,你问一句“在吗?”没下文了,那我就得多回一句“在,请问你有什么事?”,你试想一下,如果每天有二十个这样的私信,我每天要用手机打二十句“在,请问你有什么事?”这种废话!我又不是淘宝客服,而且对方还不一定能及时回复,还TM得等到你有时间看到了才能知道你想问什么,这叫无效沟通,大大增加了回答者的时间成本,降低了愉悦体验。同理,还有人特别喜欢问“XXX为什么不行?”、“XXX为什么报错?”如果是问我,只想说一句“MMP,我TM怎么知道你为什么不行?”

正确的提问应当是这样的,你好,我这里有一个问题,然后刷刷的,日志、截图、代码都贴出来,最后再来一句,“如果看到了麻烦回复一下,谢谢。”完美!这种问问题的方式,回答者看到了赏心悦目,真正的专业人士看到了你贴出来的这些信息,通常60秒之内就能分析个所以然,就能解答你,整个回答过程不超过2分钟,高效,舒心!当然,60秒都看不出个所以然,基本也没办法解答。记住,应当积极主动的是你,把用到的不用的都先贴出来,而不是反过来让回答者问你要,问题是你的。

通常做技术的程序员,尤其是高手级别,并不太喜欢无效的无价值的社交,一般不会没事跟你闲扯,就事论事而已,你的时间或许不值钱,但别人的不一定。很少有人讲这些,我这里都摆在明面上讲出来了,大家自己去体会吧,先懂得尊重别人,别人才会尊重你。

工具篇

善用工具,能抵你一百个老师!

搜索工具。首推谷歌搜索,因为精准!与百度相比,并不仅仅是只有一点精准的差别,是能搜到答案与完全搜不到答案的巨大差别,这一点在搜索技术门类问题上体现非常明显,绝不是虚言,谁用谁知道。在搜索技术问题时,注意方法,注意关键词,有报错信息时,截取关键报错信息输入搜索框搜索

博客网站。在网上有很多像笔者这样乐于写博客,乐于分享的技术达人,实际上这也是编程工作者中普遍的开源精神,这是一个开放的领域,很少有人敝扫自珍,除了公司内部的涉及保密的东西,其他大部分知识、源码、技能都能分享出来。因为我们也都是一步步从小白看别人的博客学习成长,等到我们也有心得经验分享时,也不会吝啬赐教后来者。这里主要推荐CSDN、博客园、开源中国、简书等几个博客网站。博客虽然零碎,知识不成体系,但是往往能解决实际问题,拓宽见识。

技术问答网站。高质量的技术问答网站,首推stackoverflow,这是全球最好的技术问答网站,通常能解决编程中遇到的90%以上的问题。国内没有拿得出来的技术问答网站,如果英语不好又万不得已,可以去综合问答网站知乎,人称逼乎,认真回答问题的不多,装逼抖机灵的挺多。

开源平台。当然是首推全球最大的开源平台GitHub,不知道GitHub的绝对不是真正的程序员。利用这一点可以有效鉴别哪些是真正的程序员,哪些是冒充程序员。简单说这个平台就是用来放软件源代码的,比如你想开发一个阅读器,你首先要做的是在这个平台上搜索一个评分最高的开源阅读器,然后好好看看别人的阅读器代码是怎么写的,然后当然是抄过来啦,然后改个名字就是你的了。这并不是开玩笑,因为有很多开源协议,是给与最大权限的,简单说就是允许你阅读、修复源代码,甚至允许你做任何事,包括改名换姓重新发布用于商业目的获利,这就是开源精神的极致,完全无私贡献,甚至放弃版权保护,厉害吧!其实早期这些开源的极客们想法非常单纯,甚至中二,他们公开源代码的目的就是让别人看看,自己代码写得多么牛逼,然后心安理得受人崇拜,真是一群单纯可爱的人。

最后一个建议,学好英语!因为很多前沿的技术资料都是老外写的,还有很多偏门的技术领域,没人给你翻译成中文的。像stackoverflow、Github这么优秀有用的平台,你英语不好不能有效利用,那是多么可惜?

资料篇

《编程小白的第一本 Python 入门书》电子书 下载
《Python编程:从入门到实践》电子书+源码附件 下载
《Python编程快速上手:让繁琐工作自动化》电子书+源码附件 下载
《Python核心编程(第3版)》电子书+源码附件 下载
《Python高手之路 (第3版)》电子书 下载
《流畅的Python》电子书 下载

关注文末公众号可自动获取网盘地址与密码

小项目练手

看来那么多书,你是不是也想动手写点什么,但是又不知道从何动手呢?其实GitHub上就有 地址

在这里插入图片描述

请关注公众号:编程之路从0到1

编程之路从0到1

血色v残阳 CSDN认证博客专家 编程达人 Flutter 课程讲师
掌握C、Java、Python、Go、Dart语言等多种编程语言,擅长GUI开发,曾从事Android原生开发,Flutter跨平台开发等等工作
微信公众号:
“编程之路从0到1”
相关推荐
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页