虽然有时觉得Python简单得不像编程语言,知乎上也有人说,"requests 好用的让人想哭”。但当我们学习一门编程语言时,要学习哪些内容,怎么学习,还是很值得深入探究的。
先看一下Python官网上的说明:
Python官网
powerful, fast, easy, 对,这就是赤果果的广告。不过我用下来的感觉确是如此,最大的问题是在于它太强大了有太多的库,貌似没有一个地方可以集中查看所有库的文档(https://pypi.python.org/pypi 算吗?)。那Python究竟能做些什么?
还是先看一下官网上的说明:
The Python Package Index (PyPI) hosts thousands of third-party modules for Python. Both Python's standard library and the community-contributed modules allow for endless possibilities.
Web and Internet Development
Database Access
Desktop GUIs
Scientific & Numeric
Education
Network Programming
Software & Game Development
再看一下知乎上的回答,大家都用Python做什么?
做网站后台
有大量的成熟的框架,如django,flask,bottle,tornado
写网络爬虫
Python写爬虫很简单,库很健全
科学计算
参加数学建模大赛,完全可以替代r语言和MATLAB
数据挖掘,机器学习
Python的机器学习包很多
数据科学
最近spark,Hadoop都开了Python的接口,所以使用Python做大数据的mapreduce也非常简单
做系统部署,日常维护的脚本
看到Python的功能强大了吧。现在工作需要的一些网络数据抓取,我都用Python处理了。对于一个小白来说学习Python要注意些什么,哪些是重点,如果自学Python找一份开发的工作,重点又该是什么?
还是用数据说话,我用Python写了一段代码,把51JOB上上海地区Python职位的要求爬取下来,看看公司里对Python开发的要求是什么,这样你学习起来才更有针对性。
Python抓取列表页所有岗位链接
一共抓取了194个Python开发岗位
一、自学中一个最大的问题是,你没有找到应用的场景
大多数同学在自学一门编程语言时,是没有应用的场景感。就是不知道学了做什么用,讲不出具体、合理的应用。如果是有老师教,老师带着你学,是没有关系的。因为每一阶段做什么练习,做什么项目,知识点学到什么程度,老师都会帮你规划好。自学不一样,最好每个技能点都要有明确的应用场景感,这样学习起来目标、目的更强,不会出现看不到进步,自我否定而放弃。
学习Python,比较好快速找到应用的场景。如果马上可以找到解决工作生活中的问题,用Python来实现,学习的效果和效率就会立马得到提升。这种学习方法,采铜称之为"设计式操练”。
还是回到刚才知乎上的回答,有的人拿Python写了一个12306余票检测脚本;有的人用Python爬取图片和电影资源... ... 这些就是具体应用的场景感,然后分解功能,一步一步完成,Python可以用最少的代码来实现。
一定要破解 系列丛书《 从门到放弃!》
二、当我们学Python,我们学什么
1)如果学Python是想了解编程语言,做一些实用小工具来提高效率,那学习的主要内容应该是Python的网络访问(urllib, urllib2, requests),爬虫相关的库,正则表达式, BeautifulSoup,XPath,Excel,数据库MySQLdb模块等,了解html网页。
这些知识熟练应用,从网络上抓取数据,再进行分析处理,完全没有问题。
2)如果你想学习Python语言找一份开发的工作,那看企业的岗位中有哪些要求。(一共194个Python开发岗位)
84个Python开发岗位是要求Web开发(后端开发)占43.3%,其中81个岗位明确需要django
118个岗位对Linux有明确的要求,占60.8%,74个岗位要求有Java开发经验占38.1%
26个岗位对PHP有要求,占13%
运维岗位4个,测试岗位3个
高级工程师岗位是26个,占13%
工作经验一般要求2年,一些岗位明确要求Python经验2年以上。
爬虫、数据分析相关的岗位17个,占8.7%
职位要求
再看一下岗位需求量,我把Java的也列出来作一个对比:
城市
Python岗位数量(个)
Java岗位数量(个)
上海
287
9993
西安
10
1309
武汉
23
2018
乌鲁木齐
0
55
北京
347
12235
结论:
Python语言作为工作中效率提升的工具,非常好用的。
Python好用易学,但作为程序员主力开发语言,要求比较高,大多需要其他语言的使用经验。Python作为程序猿的想扩展的新语言非常合适。
如果没有编程语言基础,想学习Python后从事开发,要求偏高。重点要放在Web学习,框架(Flask, Django)学习上,html, js 是基本。同时要打好Linux基础,可以多了解一些Java比较好。