深入学习文档,使用文档
很多初级Python程序员在工作中遇到问题只使用Google和百度去解决,但是项目需求千千万,总有百度和Google解决不了的,这时候就需要用到官方文档了。所以想进阶为Python高级程序员,第一步要做的事就是尽可能多的使用官方文档,学会用文档解决问题,减少使用搜索引擎的次数。
此外还有一个小技巧,可以把官方文档打印成小册子,经常拿出来翻看,熟悉文档内容,这样在不知不觉中,Python技术会提升很多。
深入研究每一个问题
有些知识阅读一遍没懂可能不影响你后面功能的实现,于是乎你选择了跳过,如果要进阶,一定要学会深究每一个不懂的问题。例如,Python官方文档的第一句话说:“Python提供了高效的高级数据结构,还能简单有效地面向对象编程。”
很多初学者不懂什么是高级数据结构,也不懂什么是面向对象编程,然后选择跳过,殊不知这两个名词在整个学习的过程中占有很高的地位,碰到诸如此类的问题,应立刻百度或者Google,学习并了解其中的含义,深究虽说占用时间比较长,但一定程度上可以夯实开发者的基础。
多提出一些发散性的问题
举个例子:Python文档中有一句话是这么说的:“Python是一种动态类型和解释性语言”。通过这句话,应该思考以下问题:为什么Python是一种动态类型的语言?其他编程语言是什么类型?动态类型语言和静态类型语言之间有什么区别?什么是解释型语言?等等问题,并将自己所有的疑问一并解决。
尽可能自己去编写代码
有些特定的功能需要用特定的编码方式完成,很多人在学习的时候会死记硬背这部分代码,比如冒泡排序、TCP三次握手等等,这种特定编码一天可以背会三四十组,但如果不明白为何以这样的方式编码实现,那就没必要去记忆了。应该把更多的时间花在理解这些代码上,很多代码都是前人花很久思考出来的,学习他们的思维,对自己的逻辑能力提升很有帮助。
学习热门的Python库和框架**
Python有最全的库和框架,这是其他语言所不具备的,作为开发人员也要把这一特点发扬光大,不要局限于一种技术,比如学会了Django,那就接着把Flask也学会,如果Web开发的框架都应用自如,就去学学其他领域的框架。
比如,用于GUI开发的Tkinter和PyQT;用于数据科学的Numpy和Pandas。扩宽自己的知识面,是成长为一个高级开发工程师的必经之路。
每天坚持写代码
坚持不懈写代码,会形成编程的思维习惯。就像在健身房增肌,需要持续不断的训练才有显著的效果,如果断断续续的训练,显现效果需要很久。编程也是一样,如果不持续不断的训练,很难得到进步。
所以初学代码的童鞋注意啦!现在没有编程技术不要着急,每天坚持去写,总有一天你会对代码得心应手的。
了解有关开发环境的信息
选择好IDE之后,就不要随意变更了。要知道没有十全十美的编辑器,精通一个即可,其他编辑器大同小异。学习版本控制,并对项目使用GIT进行版本控制,养成这样一种习惯。学习与虚拟环境和pip等程序包控制系统一起使用。
学通编程的基础知识
往往最基础的是最难的,很多资深的Python开发者在面对大厂的面试时会败下阵来,究其原因就是对基础的不重视。以下这些基础一定要掌握:
了解线程,进程的工作原理,以及他们在Python中的弱点;
了解解释器,它们是如何实现的,为什么会有这么多不同的Python实现方式;
了解有关Python的生态信息,PIP,PEP8,setuptools,virtualenv等等;
了解socket,网络库,异步功能等等。
写在最后
当然啦,学习是一个循序渐进的过程,虽然我们都希望自己快速提升自己的代码能力,但也要注意做好“沉淀”工作。闲暇之余,我们可以把自己最近的心得体会做一个小结,发到技术网站或者论坛,与技术大神做一个交流。
另外,也可以通过多提问的方式,拓宽自己的眼界,使自己成为一名更好的开发工程师~