python初学者,请教python学习路径

我现在在做java开发。现在想自学python,目前在网上看廖雪峰的python基础教程,但是再下一步做什么就不清楚了,不清楚接下来的学习方向。
周围没有人学python,只能网上求助各位同仁了。
先谢谢各位了。

还有,学习pythond的网站,书籍请推荐下,从入门开始。万分感谢!

阅读 11k
3 个回答

修改部分内容,删了一些误导性的部分,增加机器学习相关内容。


原答案:

你的疑惑是进阶的方向,那么首先你需要问自己两个问题:

1.你未来想要做什么?

你有个人职业生涯的目标么?至少在编程方面,你未来想做什么?
譬如就是为了赚钱,或者做游戏、做网站、云计算……

2.Python能做什么?

这之前先说Python的特点。
Python的优势很明显:

开发成本低。
“生命短暂,快用Python”这句话当然不是说说的,Python的开源性使得Python拥有大量第三方库,而其自带的库和方法也对一些常用功能进行了大量封装,使用起来及其方便,C语言需要1000行实现的功能,Python也许只要几十行甚至更少,这为开发节省了大量时间。

跨平台。
这个你做Java的,我就不多赘述了,但Linux自带Python这个特性真的是……

当然了,劣势也同样明显:

运行慢。
没办法,封装了无数层,而且是解释型语言,运行慢是在所难免的,牺牲了运行速度来提升开发效率,这点在如今被渐渐证明是值得的————因为硬件技术大大提升,许多应用场合不再拘泥于字节级、毫秒级的执行效率了。

代码公开。
由于是解释型语言,不像C和Java那样需要编译,运行的代码就是写的代码,完全开源。当然这点到底是劣势还是优势,见仁见智了。

然后再来简单说说Python适合做什么。

【爬虫】
优秀的库和框架,硬件水平大大提升的现代社会,Python用来开发爬虫真是再适合不过了,你只需要下面三行代码就可以输出整个www.baidu.com的页面文档了:
import urllib2 body = urllib2.urlopen('http://www.baidu.com/') pirnt
body.read() 你想想是不是可以做很多一劳永逸的事情?1024?

【大数据分析】
numpy、pandas、scipy等第三方库提供了非常强大的数据分析、科学计算等功能,试试就知道了。

【机器学习】
这段是后加的。
机器学习、深度学习,人工智能方向的热度不用多说,在招聘网站上看看机器学习相关的薪资就知道了。
sklearn、tensorflow、keras、pytorch、caffe2 等都是非常优秀的学习框架。

【Web开发】
Django、Flask、Tornado等开源框架为Python
Web开发提供了巨大便利,我反正钟爱Django。国内的豆瓣就是用Python开发的……

【自动化脚本】
呃,这个很泛,多为自动化测和运维用。
由于Python强大的兼容性,和快速开发的特点,从IBM到Google,Python在自动化测试的领域越来越受欢迎,且自动化的门槛比较低,我本人现在就在做服务器自动化测试的工作,就编程水平来说,要求真的不高。

【云计算】
OpenStack就是Python写的。

【黑客】
为什么Python会成为许多黑客热爱的语言呢?
开发快、库多,这两个就不说了,还有一个非常重要的理由:大部分Linux系统都自带Python环境,而大部分服务器都是Linux系统。
就是这样。

所以啊,少年,路标都给你放好了,自己选吧。
有其他问题私下里可以问我哦~

路线一:web方向,flask、django、tornado、web2py等等
路线二:爬虫
路线三:ERP开发,开源的odoo是用python做二次开发
路线四:数据挖掘
路线五:机器学习
路线六:科学计算

自己整理的一份python的相关书籍

https://github.com/Junnplus/awesome-python-books

楼主可以按上面的分类看书,语法类从零基础到高阶的书,应用类自选自己喜欢的方向。

另附一份中文版

推荐问题
宣传栏