python如何删除excel中不满足要求的工作簿(excel怎么删除工作表里不需要的)
573
2022-05-29
Python进阶之路
古语有云:不走弯路便是捷径。在学习编程的过程中更是如此。书店里各种类型的书籍,博客里各种各样的技术文章,学习网站上各种技术的学习教程,在如今的互联网时代,在知识爆炸的背景下,学习的方式和方法更加的多种多样。在这样的背景条件下,在学习一门编程语言的过程中,如何尽量的少走弯路,直达目标更显得尤为重要。
本篇文章将深入剖析学习Python的方向和路线的选择,旨在给大家点亮学习的灯塔,找准前进的方向。
主要内容如下:
Python语言生态一览
如何规划自己的学习路线
学到什么程度算是会
如何突破学习瓶颈,百尺竿头更进一步
编织全新的世界
Python语言生态一览
难的不是创造一门语言,是生态。
当今编程世界,充斥着各种类型的编程语言,琳琅满目。那么如何分析一门语言的发展趋势呢?笔者认为重要的是看这门语言的生态。生态发展不起来的语言大多命途多舛,那么怎么看一门语言的生态?如果选择从原理的角度理解生态,会发现生态这个词特别难懂,所以我们选择从语言的表象的角度来分析生态。
从表象的角度分析编程语言的生态。
表象包含如下方面:
文档:教程是否齐全,是否通俗易懂,案例是否丰富
社区:社区的发展决定语言的发展,是否有很多的教程和问题与答案
集成开发环境:简单易用的集成开发环境可以大幅提高开发效率,方便调试
跨平台支持:如果不支持跨平台,语言很难发展(如Swift,兼容性较差)
功能库:丰富的功能库方便开发,调用更安全
成熟的大型应用:提供信心和参考
主流工具的支持:企业中选择的关键
下图为Python的表象角度生态情况:
如何规划自己的学习路线(不走弯路)
Python的职业方向
Python是一门非常适合入门的编程语言,而且职业方向相当丰富,这一点可以从招聘职位的多样性中明显的体会到。下图是招聘网站上与Python相关的岗位和对应的薪资情况:
眼花缭乱的技术栈
学习的第一件事,就是找准方向,否则很容易会眼花缭乱,感觉自己学了很久,各种技术都学了一点,但到头来总是没学会什么,需要用的时候觉得什么都不会。因为技术栈本来就是非常的多,所以找准方向有位重要,下图以学习Python爬虫为例,总结了需要掌握的技术栈信息:
规划学习路线
这里我们将从招聘要求来分析学习的路线。以Python爬虫工程师为例,初级的爬虫工程师的招聘需求上,通常包括基础的HTML\TCP\XPATH\CSS,数据存储方面包括Redis\MySQL\ MongoDB,关键词通常包括采集、结构化、清洗、入库、实时性,特殊的关键词包括反爬虫、 hook 、逆向等等。中高级的爬虫工程师的招聘需求则通常包括基础的HTTP\TCP\算法\数据结构,数据存储方面包括Redis\MySQL\ MongoDB,关键词通常包括WEB 框架、网络协议、Linux 环境、设计开发,特殊的关键词包括高并发、性能等等。
从对招聘需求的分析上,我们可以规划出合适的学习路线,这种学习路线面向招聘需求,更有针对性,更有的放矢。如下图所示是一个WEB开发者的学习路线:
获取学习资料的途径
互联网时代是知识爆炸的时代,获取学习资料的途径也多种多样。有些朋友可能习惯于把钱用在炒股,存银行或做生意等方面,对买书,买课,参加训练营等付费方式有一定的抗拒,认为花钱在IT 届是不可取行为,就应该免费学,自己慢慢攻克。殊不知当今时代,投资自己才是王道。付费学习可以节省大量的时间成本,短时间内迅速实现自我提升。如下是几种获取学习资料的途径:
官方文档
知名图文博客
视频付费专栏/课
知识付费平台专栏
直播课
付费训练营
购买书籍
学到什么程度算是会
如果学习到了一定的程度,怎么检验自己的能力呢?如何辨别自己对知识的掌握程度?对这个问题,答案是市场和实践才是真正的试金石。大胆去尝试,通过面试来检验自己的水平,同时发现自身的不足,并在日后的学习过程中重点针对这些不足进行提高。此外,亦可以通过参与开源作品的开发来检验自身的水平。
如何突破学习瓶颈
当我们在学习和工作中,有了一定的技术储备,可以很容易的解决一些问题的时候,怎么突破学习瓶颈,取得更大的提升呢?如何百尺竿头更进一步?这个时候,我们需要将精力放在如下关注点上:性能、效率、并发、稳定性、复杂度等,我们可以开始思考诸如如何提升系统的性能和稳定性等问题上。这样就可以在现有基础上设定新目标,再去逐个击破,实现自我提升。
编织全新的世界
当我们的水平有了进一步提高之后,我们可以考虑在不同的任务和场景下应该使用什么样的技术。例如需要提升系统效率,更快速的响应需求,我们可以考虑采用缓存技术,如Redis。如果需要更高效的传输,我们可以考虑采用Socket通信。如果涉及到并发环境下资源的共享与竞争,我们可以考虑采用分布式锁提升系统的并发性能。如果需要保证系统的稳定性,我们可以考虑日志收集工具,监控告警等方法。如果涉及到系统的复杂度等问题,我们可以考虑资源的利用率,如空间复杂度等方式。
掌握了以上技能之后,下一步可以上升到与语言无关的层面,涉足架构设计方面,开启新的发展方向。借鉴于敏捷开发的迭代思想,可以设计一个三年的技术规划,比如三年的时间,可以熟练的掌握一门语言,熟悉这门语言的一个发展方向,三年后可以迈向另一个领域。
总结起来,编程学习之路如逆水行舟,不进则退,需要我们有高屋建瓴的学习规划,这样才能掌控技术前进的方向,实现自己的技术梦想。
Python
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。