专栏首页Linux Python 加油站我为什么说Python是全栈式开发语言?

我为什么说Python是全栈式开发语言?

我为什么说Python是全栈式开发语言?

来源:马哥教育

链接:https://mp.weixin.qq.com/s/gwZtzuw1QXRIDApSPaIDag

Python 的排名从去年开始就借助人工智能持续上升,现在它已经成为了第一名。但排在前四名的语言 Python、C、Java 和 C++都拥有广大的用户群体,并且他们的用户总量也十分相近。实际上,Diakopoulos 在对公司招聘所要求的基本语言分析中,C 语言的需求甚至还要在 Python 之前。

下面是日常Python在公司的一些基础应用:

1、验证算法:就是对公司一些常见设计算法或者公式的验证,公式代码化。

2、快速开发:这个大家应该都比较熟悉,快速开发,就是用成熟框架,更少的代码来开发网站,Python在网站前后台有大量的成熟的框架,如django,flask,bottle,tornado,flask和django的使用较多,国内用Python开发的网站有:知乎、豆瓣、扇贝、腾讯、阿里巴巴;

3、测试运维:用python实现的测试工具及过程,包含服务器端、客户端、web、andriod、client端的自动化测试,自动化性能测试的执行、监控和分析,常用selenium appium等 框架。做运维同学应该清楚,在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在云基础设施,DevOps,大数据处理等领域都是炙手可热的语言。

领域————————流行语言

云基础设施————Python, Java, Go

DevOps——Python, Shell, Ruby, Go

网络爬虫————Python, PHP, C++

数据处理 Python, R, Scala

云平台分为私有云和公有云。私有云平台如日中天的OpenStack,就是Python写的。如果嫌麻烦不想自己搭建私有云,用公有云,不论是AWS,GCE,Azure,还是阿里云,青云,在都提供了Python SDK,其中GCE只提供Python和JavaScript的SDK,而青云只提供Python SDK。可见各家云平台对Python的重视。提到基础设施搭建,不得不提Hadoop,很多第三方库封装了Hadoop的API接口(pydoop,hadoopy等等)。

DevOps

DevOps有个中文名字,叫做开发自运维。互联网时代,只有能够快速试验新想法,并在第一时间,安全、可靠的交付业务价值,才能保持竞争力。DevOps推崇的自动化构建/测试/部署,以及系统度量等技术实践,是互联网时代必不可少的。

自动化构建是因应用而易的,如果是Python应用,因为有setuptools, pip, virtualenv, tox, flake8等工具的存在,自动化构建非常简单。而且,因为几乎所有Linux系统都内置Python解释器,所以用Python做自动化,不需要系统预安装什么软件。

自动化测试方面,基于Python的Robot Framework企业级应用最喜欢的自动化测试框架,而且和语言无关。Cucumber也有很多支持者,Python对应的Lettuce可以做到完全一样的事情。Locust在自动化性能测试方面也开始受到越来越多的关注。

自动化配置管理工具,老牌的如Chef和Puppet,是Ruby开发,目前仍保持着强劲的势头。不过,新生代Ansible和SaltStack——均为Python开发——因为较前两者设计更为轻量化,受到越来越多开发这的欢迎,已经开始给前辈们制造了不少的压力。

在系统监控与度量方面,传统的Nagios逐渐没落,新贵如Sensu大受好评,云服务形式的New Relic已经成为创业公司的标配,这些都不是直接通过Python实现的,不过Python要接入这些工具,并不困难。

除了上述这些工具,基于Python,提供完整DevOps功能的PaaS平台,如Cloudify和Deis,虽未成气候,但已经得到大量关注。

网络爬虫

网络爬虫是Python的传统强势领域,最流行的爬虫框架Scrapy,HTTP工具包urlib2,HTML解析工具beautifulsoup,XML解析器lxml,等等,都是能够独当一面的类库。

数据处理

Python也是数据科学家最喜欢的语言之一。和R语言不同,Python本身就是一门工程性语言,数据科学家用Python实现的算法,可以直接用在产品中,这对于大数据初创公司节省成本是非常有帮助的。正式因为数据科学家对Python和R的热爱,Spark为了讨好数据科学家,对这两种语言提供了非常好的支持。

对了,还有iPython,这个工具如此有用,iPython Notebook的笔记本文件可以共享给其他人。

为什么是Python

正是因为应用开发工程师、运维工程师、数据科学家都喜欢Python,才使得Python成为大数据系统的全栈式开发语言。

对于开发工程师而言,Python的优雅和简洁无疑是最大的吸引力,在Python交互式环境中,执行import this,Python社区一直非常有活力,Python的软件包增长速度一直比较稳定,同时软件包的质量也相对较高。

对于运维工程师而言,Python的最大优势在于,几乎所有Linux发行版都内置了Python解释器。Shell虽然功能强大,但毕竟语法不够优雅,写比较复杂的任务会很痛苦。用Python替代Shell,做一些复杂的任务,对运维人员来说,是一次解放。

对于数据科学家而言,Python简单又不失强大。和C/C++相比,不用做很多的底层工作,可以快速进行模型验证;和Java相比,Python语法简洁,表达能力强,同样的工作只需要1/3代码;和Matlab,Octave相比,Python的工程成熟度更高。不止一个编程大牛表达过,Python是最适合作为大学计算机科学编程课程使用的语言——MIT的计算机入门课程就是使用的Python——因为Python能够让人学到编程最重要的东西——如何解决问题。

顺便提一句,微软高调宣布提高Python在Windows上的编程体验,包括Visual Studio支持Python,优化Python的C扩展在Windows上的编译等等。脑补下未来Python作为Windows默认组件的场景。

如此可见Python号称全栈式语言是肯定有道理的。

目前来学的人群分为以下几类:

第一类:入行编程新手:大学刚毕业或者其他行业转岗,想从事编程开发的工作,目前认为Python比较火,想入行;

第二类:Linux系统运维人员:Linux运维以繁杂著称,对人员系统掌握知识的能力要求非常高,那么也就需要一个编程语言能解决自动化的问题,Python开发运维工作是首选,Python运维工资的薪资普遍比Linux运维人员的工资高。

第三类:做数据分析或者人工智能:不管是常见的大数据分析或者一般的金融分析、科学分析都比较大程度的应用了数据分析,人工智能的一些常见应用也使用了Python的一些技术。

第四类:在职程序员转Python开发:平常只关注div+css这些页面技术,很多时候其实需要与后端开发人员进行交互的,现在有很多Java程序在转到Python语言,他们都被Python代码的优美和开发效率所折服

第五类:其他:一些工程师以前在做很多SEO优化的时候,苦于不会编程,一些程序上面的问题,得不到解决,只能做做简单的页面优化。 现在学会Python之后,可以编写一些查询收录,排名,自动生成网络地图的程序,解决棘手的SEO问题。

原文链接:https://mp.weixin.qq.com/s/gwZtzuw1QXRIDApSPaIDag

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python学习干货 史上最全的 Python 爬虫工具列表大全

    链接:https://mp.weixin.qq.com/s/UkXT20Oko6oYbeo7zavCNA

    Py_lover
  • 2017年Python开发大事件年度盘点

    在马哥Python的万人学习社群做了个调研,盘点了一下2017年Python的重要事件,希望抛砖引玉。

    Py_lover
  • 2017年Python开发大事件年度盘点

    在马哥Python的万人学习社群做了个调研,盘点了一下2017年Python的重要事件,希望抛砖引玉。

    Py_lover
  • Python 快速教程(标准库)

    Python有一套很有用的标准库(standard library)。标准库会随着Python解释器,一起安装在你的电脑中的。它是Python的一个组成部分。这...

    CDA数据分析师
  • Python开发 的优势在哪里

    1.开源 Python都是开源的语言,简单地说,你可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。Python主要是英...

    企鹅号小编
  • Python不服不行,不能不知道的Python十大应用领域与就业方向

    近些年,编程语言Python的热度越来越高,因为Python简单,学起来快,是不少程序员入门的首选语言。

    用户7081581
  • Python为什么成为人工智能的首选语言

    之前一直都是在学习Python与机器学习,深度学习。但是究竟为什么在众多的编程语言中选择Python作为人工智能的首选语言呢我一直不得而知,今天就来以我的理解来...

    王荣胜
  • 整理了 34 个被吹爆了的Python开源框架

    我们从近10000个python开源框架中评价整理的34个最为好用的开源框架,它们细分可以分为Python Toolkit、Web、Terminal、Code ...

    咸鱼学Python
  • Python为什么被称为“AI时代第一语言”?

    近年来随着人工智能和机器学习的发展,Python大火,但很多小伙伴不知道的是,其实Python并不是一门年轻的语言,早在1991年它就出现了。

    老九君
  • Python这么火,我可以学吗?

    越来越多行业都在应用的Python,主要的应用领域有哪些呢?Python每个人都可以学吗?今天我们就来详细看一下。

    老九君

扫码关注云+社区

领取腾讯云代金券