因为清晰易读的风格,广泛的适用性,Python已经成为最受欢迎的编程语言之一。在TIOBE 排行榜中位居第四,是名副其实的人工智能第一语言。
风靡的另一个原因是,Python有非常多的第三方库。比如用于WEB开发的Django/Flask,用于科学计算的 Numpy/Scipy,用于机器学习的 Scikit-Learn,用于运维的 Supervisor/Fabric,用于网络爬虫的 BeautifulSoup/Scrapy……这些你都可以轻松调用实现,不用再造轮子。
利用Python进行数据分析▼
利用 Python 爬取网页数据▼
利用Python写小游戏▼
认真学习一周,你就可以写一个贪吃蛇
利用Python写工具脚本▼
用 Python 写一个自动抢票的脚本
你认为这些离你还很远?但编程在你的工作、生活中的很多场景都能被利用。
比如量级稍微大些的数据,Office的性能根本不能满足需求,而用 Python 可以轻松地处理、分析。而微软也正在考虑将 Python 作为 Excel 的一种官方脚本语言,由于 Python 的适用性,使其不仅可以实现VBA的功能,也可以代替场函数。
比如你想做一些市场调研,那么用 Python 写一个爬虫,即可批量地获取互联网数据,这些则是很有价值的原材料。
你也可以去写一些实用的工具脚本,比如跳一跳的自动化刷分工具,比如自动抢票的插件,文件批量处理工具……
如果你觉得这些很难,那可能是技术限制了你的想象力。
Python广泛的应用场景
所以无论是实用性还是易用性,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.看到别人的案例觉得好像是那么回事,但是自己去写代码的时候依然很困难,无法训练编程思维。