你还在盲目跟风学Python?你真的了解吗?某华大学教授有话要说
你觉得Python真的好吗?或许你在漫天的宣传中看到了这些:
- 接近英语的简单语法;
- 开发环境简单,能打字就能写代码;
- 众多的第三方库;
- 解释执行,不需要编译;
- 跨平台,方便移植;
但是作为一个负责任的假程序媛,要跟你说的是:就算再简单的语言,也得学才会会,不要在好不好,真的好不好这些事情上下功夫,要在怎么学如何学上下功夫。
那么,言归正传,我们来看看Python这个神奇的语言。
第一部分:各个领域应用的语言。
大家看这个内容,其实你很明显发现,其实各个语言都有他的用处。我们可以说Python是应用最广的。但是暂时还是不能说它是全能的,因为他也有它的短板,但是对于一般的小公司和小项目而言,是很难得的全能。
现在有个很奇怪的现象,就是大家把Python神话了。Python作为一门语言,确实有他的优势。但是建议大家在学好这个语言的同时,要学第二门语言,这样未来对大家有好的发展。
第二部分:Python工程师在企业里面的定位是什么?
你还在盲目跟风学Python?你真的了解吗?某华大学教授有话要说
四个重要的定位:验证算法、快速开发、测试运维、数据分析。
1、验证算法:就是对我们公司一些常见设计算法或者公式的验证,公式代码化。
2、快速开发:这个大家应该都比较熟悉,快速开发,就是用成熟框架,更少的代码来开发网站,Python在网站前后台有大量的成熟的框架,如django,flask,bottle,tornado,flask和django的使用较多,国内用Python开发的网站有:知乎、豆瓣、扇贝、腾讯、阿里巴巴;
3、测试运维:做运维同学应该清楚,在Linux运维工作中日常操作涵盖了监控,部署,网络配置,日志分析,安全检测 等等许许多多的方面,无所不包。python可以写很多的脚本,把“操作”这个行为做到极致。与此同时,python在服务器管理工具上非常丰富,配置管理(saltstack) 批量执行( fabric, saltstack) 监控(Zenoss, nagios 插件) 虚拟化管理( python-libvirt) 进程管理 (supervisor) 云计算(openstack) ...... 还有大部分系统C库都有python绑定。
4、数据分析:Python有三大神器:numpy,scipy,matplotlib,其中numpy很多底层使用C语言实现的,所以速度很快,用它参加各种数学建模大赛,完全可以替代r语言和MATLAB。spark,Hadoop都开了Python的接口,所以使用Python做大数据的mapreduce也非常简单,加上py对数据库支持都很好,或者类似sqlalchemy的orm也非常强大好用。
在结束这个部分之前,大家有没有一个疑问:为什么爬虫没有中重点讲?
其实这里给大家重点说一下,如果你要学好Python,仅仅停留在爬虫上,这个是很不靠谱的。Python 写爬虫的教程网上一抓一大把,据大家所知很多初学 Python 的人都是使用它编写爬虫程序。小到抓取一个小黄图网站,大到一个互联网公司的商业应用。通过 Python 入门爬虫比较简单易学,不需要在一开始掌握太多太基础太底层的知识就可以很快上手,而且很快可以做出成果,非常适合小白一开始想做出点看得见的东西的成就感。
除了入门,爬虫也被广泛应用到一些需要数据的公司、平台和组织,通过抓取互联网上的公开数据,来实现一些商业价值是非常常见的做法。
当然这些选手的爬虫就要厉害的多了,需要处理包括路由、存储、分布式计算等很多问题,与小白的抓黄图小程序,复杂度差了很多倍。
第三部分:python的岗位,薪资,及技能要求
Python岗位有哪些呢?主要的岗位有这些:
Python全栈开发工程师(10k-20K)
Python运维开发工程师(15k-20K)
Python高级开发工程师(15k-30K)
Python大数据工程师(15K-30K)
Python机器学习工程师(15k-30K)
Python架构师(20k-40k)
目前应用最多的:全栈开发、数据分析、运维开发,大家知道他们分别的要求是什么吗?
我们来看三个岗位要求:
岗位1:任职要求
1.计算机、软件相关专业本科或以上学历,3年以上工作经验;
2.熟悉python、JS开发语言;
3.具有MySQL数据库设计与优化能力,熟悉mongoDB、mc、redis等一种以上;
4.熟悉Linux/Unix,能进行shell编程;
5.具有良好的学习能力,时间和流程意识,沟通能力、团队合作
岗位定义:Python运维开发
岗位2:职位要求
1,熟悉 Python 编程;
2,熟悉 Linux 系统;
3,熟悉 shell 编程;
4,了解 django/web.py/flask 框架一种及以上;
5,有一定的 Web 后端开发经验,熟悉前后端分离的开发模式
熟悉关系型数据库的使用与基本设计优化方法,了解常见的 NoSQL 数据库如MongoDB, Redis等;
6,良好的编码风格及测试习惯
加分项:
在 GitHub 上有开源项目
岗位定义:Python全栈开发
岗位3:任职资格
1、具有python开发数据处理软件的经验;
2、精通Python,掌握numpy,scipy,matplotlib,pandas等数据处理方面常用的第三方python库;
3、熟悉至少一种Sql数据库 (mysql/ sqlserver/oracle);
4、热爱编程、具有良好的代码风格;
5、做事具有条理性,具有良好的自学能力、分析问题以及解决问题的能力。
岗位定义:Python数据分析
那么,大家来看看,这三个岗位基本要求里面,有哪些共性和不同?
第一层:python的基本语法和标准库
既然你要会python开发,那么语法基础和库是最基本的。
第二层:Linux基础
全栈和运维涉及linux服务器的操作,那需要shell编程和linux基础操作的基础能力。数据分析其实就没有这一层,涉及是数据采集,也就是爬虫。全栈对linux基础要求少一些,而运维需要更多,还需要一些DNS/DHCP之类的,很多企业也需要一定的运维工作年限。
第三层:数据库操作
数据库操作:SQL、Nosql,数据的储存和处理,就是常见的增删改查。
第四层:web前端
前端的实现,包括web前端技能,了解或熟悉HTML、CSS、Javascript,Bootstrap,jq,nodejs。全栈就不说了,运维开发涉及到可视化的界面。
第五层:基础python的框架和库
基础python的框架和库做各种实现,需要开发一个网站或者做一个自动化运维监控,数据分析师基于一些可视化的库和数据分析的库。
第六层:算法设计和求职准备
学一个技术和进阶的核心是算法设计,最重要的是:求职
最后一个部分:说说薪资和城市
全国python就业形势分析:招聘待遇,工资20000-29999占比最多,达40%。经验要求,3-5年工作经验要求的占比最多,达71%;学历要求,本科学历要求的占比最多,达76%。该数据仅供参考
python工资按工作经验统计,其中0-2年工资¥13060,应届毕业生工资¥4210,3-5年工资¥15220,6-7年工资¥23860,8-10年工资¥25220,10年以上工资¥14170,该数据仅供参考。