一直以来,把 Python 学习当做业余时间的爱好与技能培养,整个学习过程也是断断续续、不成章法,直到最近打算把爱好拓展成之后发展方向,才开始回顾整理自己的学习过程,并有针对性地进行补强。
整个自学 Python 过程,我最明智地选择是边自学边用公众号以及博客来记录,这样自己大概的知识体系便可以通过公众号文章以及博客笔记来进行回顾。
回顾
现在回顾自学 Python 过程,可以分为以下三个阶段:
- 完全从零开始的三个月,这是在 2017 年底,大致学习过程是反反复复学习 Python 的基础语法以及代码练习,值得回顾的是结合着直播答题的需求,写成了一份还算实用的辅助代码
- 重新拾起 Python 学习,这是在 2019 年 1 月开始的,随着工作稳定、业余时间可以有计划地进行相关的学习。这个过程也是边学习边整理笔记,并简单应用 Python 来实现某些娱乐目的或者实用需求。Python 学习的面基本覆盖基础知识点和函数等,应用方向则涉及文件处理、爬虫、图形界面、Django 等。总结下来就是对于知识点有简单涉猎,但不精不深。
- 时间拉到最近,2020 年 4 月份开始,开始明确转行做 Python 开发的目标,开始有针对性地刷题来补强算法与数据结构方向的知识储备;最近算是找到一份 Python 编程开发的工作,开始停止刷题,结合着廖雪峰的官方网站,继续梳理 Python 学习开发中进阶的知识点。
当然就 Python 开发水平而言,我是零工作经验,对 Python 的理解是比入门水平略高,但仍有很多知识点并没有掌握,结合着廖雪峰的官方网站中 Python 学习目录,我大概圈了下目前已掌握的知识点:
最初我对自学 Python 水平的评估在 60% 左右,然而目录中圈出来的掌握范围连 30% 都不到。自己目前的水平真就仅限于初级入门阶段而已,平时自己写的具有实用性的文件处理、爬虫等代码,大多也都是先结合需求进行搜索整理、最终写出代码,对其知识点的掌握并不牢固、也不具备独立开发的能力。
而且之前就一直觉得自己对类、实例这些不掌握,计划以后学,就这么一直拖到最近才开始系统学习。
计划
为什么要按照这目录来定位自学 Python 阶段呢?因为平常接触多了 Python 入门学习的课程,基本都是围绕着函数及之前的知识点展开的,多数都是面向小白和零基础的人群,教完上述基础内容后,就会结合爬虫、数据处理等具体案例来进行相关的学习。这些内容对于自学和简单应用是非常充实和实用的,但对于想以 Python 作为工作技能来培养,却远远不够,需要目录中后续的 Python 更进阶的知识点掌握作为基础。
比如类和实例中的概念,装饰器的使用,进程和线程等,也都是面试中常见的概念类问题,这也是我最近开始着重补强的知识点。
目前的计划也是结合着这份目录,先把各进阶知识点都过一遍,有初步印象并完成相关的练习,之后再换个网站梳理下其相关的目录脉络再继续过一遍。两遍下来有大致的掌握之后,再结合后续工作中应用的方向,有针对性地选择相关领域来进行更深度地拓展和学习。
结语
工作两年多,基本是工作需要什么就去学什么进行相关的开发,也导致技术深度仅浮在工作表面,缺乏对未来发展方向的规划。平时工作内容涉及 Java 的后端开发以及前端开发,多基于存量代码进行仿写或改造,基本能实现工作需求便停止了。有段时间对前端开发感兴趣,业余时间尝试着开发简单的微信小程序,但仍是流于基础,没有深入。
这次打算跳出舒适圈,结合自己的爱好和自学 Python,把 Python 转为自己未来职业发展的技能基础,争取三五年内可以实现精通相关领域开发的目标。
面试造火箭,工作拧螺丝,业余自学比拧螺丝还不如——既然花费时间来学习了,就要有条理、有系统、有针对性地进行学习,不然就会和我之前一样,东一锤子西一榔头的,一直在入门阶段转圈。
同时,结合着最近的经验,对已经入门 Python 的朋友们,如果想继续进阶学习,可以像我一样结合着很多学习 Python 的官方网站目录,来进行下一步学习的规划;此外,如果想尝试相关职业的面试,那么也要对算法和数据结构进行有针对地练习。
我也是刚起步,希望未来可期!