相信一个python的初学者一定已经学完了基础的编程知识,和其他编程语言差不多,基础的数据类型、判断、循环、函数,或许你还学了面向对象。然而,当你学完这些后,或许一本python的入门书籍你已经学完了,但是你开始迷茫了,接下来,到底该干些什么呢?
以前我也曾经遇到过这些问题,我的办法就是四处寻找python的教学视频,然后去学。虽然学到了一些东西,但是并不系统,学了一段时间后,就忘得差不多了。(推荐学习:Python视频教程)
经过一年的学习,我觉得python进阶的方法是,学完基础知识后,就先从网络编程开始,从一个最简单的socket开始,先写写两台机器如何通讯,找找成就感。然后接着学习socketserver模块和http.server模块,它们是一个封装一个,你读了这两个模块之后,就知道python面向对象的强大,即使你现在写不了那么好的代码,但是你依然进步着。
尤其是http.server模块,你看完它的源码后开始朝着python的web服务器方向发展了,要知道python的web服务器代码,都是基于socket封装的,一行代码一行写出来的。一条简单的命令
python -m http.server
此时你的电脑就是一个简单的web服务器了,可以通过浏览器获得你电脑让的文件。了解了这些,你就可以着手写一个最简单的web服务器了,其实几行代码就搞定了。可是你发现你的代码一次只能服务一台客户端,你开始思考该怎么做让python实现并发。
在Python中有三种方式,进程、线程和协程。进程写不说,聊聊线程和协程。这样说吧,线程和协程实现的功能差不多,但是协程占用的系统资源更少,它不需要CPU进行上下文的切换。所以最好的解决方案便是进程加协程。
这时候你又开始进入了一个新的学习领域,开始了解协程,从最简单的yield关键字开始,接着了解python中的异步模块,然后到终极异步模块asyncio,python作者着手开发的,毕竟现在异步是非常火的。期间,你可能会使用异步写些小程序,比如写个聊天室,单线程下的并发。到了最后,你让你所学的异步和web服务器相结合,使其更加强大,如果只是玩玩的话,完全可以将它搭在你的服务器上,提供一些简单的网页服务。如果还想继续发展的话,可以写个小型的web框架玩玩。
这时候,就可以去了解爬虫了,毕竟服务端已经被你解决了。先写服务端有一个好处,可以从无到有,锻炼自己写代码的水平,爬虫已经封装的很好了,如果从零开始写有点小麻烦。还是那句话,慢慢学,如果感兴趣,也可以写个小型的框架来玩。
接着就可以玩一些高级一点的,之前我所说的一些和python相关的编程,有个高中知识水平就可以搞了。但是你想玩数据分析和机器学习那就需要大学的知识储备了,高数、线代、统计学、概率论等等数学知识,这时候先结合你之前的爬虫知识搞搞简单的数据分析,然后在慢慢的一步步深入下去,相信那是的你应该有了自己明确的目标了吧。想要做到这一点,最重要的便是坚持。
更多Python相关技术文章,请访问Python教程栏目进行学习!
以上就是python基础学完后再学什么的详细内容,更多请关注Work网其它相关文章!