因为清晰易读的风格 ,广泛的适用性 ,Python已经成为最受欢迎的编程语言之一 。在TIOBE 排行榜中位居第四 ,是名副其实的人工智能第一语言 。
你认为这些离你还很远 ?但编程在你的工作、生活中的很多场景都能被利用 。
比如量级稍微大些的数据 ,Office的性能根本不能满足需求 ,而用 Python 可以轻松地处理、分析 。而微软也正在考虑将 Python 作为 Excel 的一种官方脚本语言 ,由于 Python 的适用性 ,使其不仅可以实现VBA的功能 ,也可以代替场函数 。
所以无论是实用性还是易用性 ,Python 都是学习编程最具性价比的选择 。如果你学过其他的语言 ,再学 Python 将会让你的技能树大大地拓宽 ,有能力涉足更多的领域 。
学习编程从入门到放弃的人不计其数 ,很大程度上是因为 ,产出和投入的精力完全不成正比 。而学习 Python ,几行代码就可以实现一个爬虫 ,几个函数就可以做简单的数据分析 ,写一个小工具、小游戏也是分分钟的事情……这种成就感 ,会激发你最原始的兴趣 。
那运维该如何系统学习Python呢 ?一般我们会经历以下几个阶段 。
1、了解 Python 编程基础
一是变量、编程规范、基础语法等 ,这也是能够上手编写 Python 代码的前提 。
二是数据结构 ,字符串、列表、字典、元组这些需要非常熟练 ,数据类型将贯穿你整个编程的始终 。
这个部分一些简单的练习就是 ,自己构造一个数据类型 ,然后去实现基本的用法 。比如你自己构造一个列表 ,实现列表中数据的访问、更新、删除等基本操作 ,比如 len()、max()、min() 函数 ,以及 append()、count()、extend() 等方法 。
函数和方法是实现数据增删改查的基本途径 ,如果你在实际操作中遇到数据操作的问题 ,可以在具体的数据类型下查找相关用法 。
2、Python函数及流程控制
学习 Python 的函数和控制语句 ,是真正去解决问题的过程 。如何实现判断和循坏 ,如何将固定的功能模块封装成函数 ,这些不仅是写出代码的必要条件 ,也是训练编程思维的必经之路 。
函数这个部分无外乎函数的定义、函数调用以及参数传递 ,但是要能够娴熟地写出函数实现对应的功能 ,需要注意的细节很多 ,也需要不断地训练 。
流程控制则相对要好掌握一些 ,条件语句和循坏语句在不同的场景下练习几遍 ,知道判断和循环实现的过程 ,基本上就没问题了 。
其实到这个地方 ,基本的Python知识你已经掌握了 ,你可以自己去做一些小项目 ,比如猜数字、各种转换器、记账工具……
3、利用 Python 做些事情
通常在学习一段时间之后 ,你就会有自我怀疑的过程 ,貌似真的懂了 ,但是离做出实际的东西又很远 ,这些东西是否有用 ?
这个时候不妨了解一些第三方库 ,你可以做更多的事情 。比如用pandas作数据处理 ,用matplotlib做数据可视化分析 ,用BeautifulSoup写爬虫 ,利用Flask搭建网站……这些别人搭好的轮子 ,你直接拿来用就可以了 。当然像写爬虫和网站 ,你还需要了解其他方面的一些知识(比如HTTP、HTML、JS、数据库等) 。
对于不同的库 ,内部的方法、函数你还需要去熟悉 ,开始的时候先掌握少部分最常用的方法 ,在遇到实际的问题的时候 ,再去查对应的更多的用法 ,这样会更高效 。
4、深入 Python 编程
其实第三个阶段反复练习实践 ,你已经基本具备一些工作的技能了 ,比如 Python 数据分析、网络爬虫、写工具脚本……
首先你要了解Python的高级特性 ,如迭代器、生成器、装饰器等 ,了解类和面向对象的理念 。深入下去 ,你可以去探索Python的实现原理 ,Python的性能优化 ,跳出Python语言本身 ,去了解计算机的交互原理 ,还有很长的路要走 ,但并不是每一个人都需要这个过程 。
但这些高屋建瓴的东西 ,又是你在这个领域立足生根的重要条件 ,对于坚定走技术方向的人来说 ,这个过程是有必要的 。这个时候你再去做应用层面的一些东西 ,又会有更加深刻的理解 。
学习Python ,最常见的坑有这些:
1.很难找到合适且优质的学习资源 ,难以下手 ,或者随便找一些材料开始学习 ,极其容易从入门到放弃;
2.遇到问题不知道如何寻找解决办法 ,甚至连问题都描述不清楚 ,经常被一些细小的问题卡住 ,学习效率不高;
3.在理论学习中无法自拔 ,学习很久之后 ,发现还是不知道如何在实际的项目中去应用 ,缺乏解决问题的能力;
4.看到别人的案例觉得好像是那么回事 ,但是自己去写代码的时候依然很困难 ,无法训练编程思维 。