python简介与前景

Python简介

图片说明

python介绍

Python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言,不需要编译,可在Python命令行内互动执行你的程序,并且支持面向对象的风格或代码封装在对象。同时,Python的设计具有很强的可读性,相对于其他语言经常使用英文关键字或标点符号,Python更具有特色语法结构。

1989年,Python语言诞生,创始人是荷兰人Guido von Rossum,作为作为ABC语言的一种继承。ABC是由Guido参加设计的一种教学语言,有良好的可读性和易用性,但在当时,比较高配的电脑才能运行ABC编译器,同时存在可扩展性差、无法直接进行IO等一些致命问题。所以Python从一开始就很在意可拓展性这个点,可以引入.py文件做拓展模块。由于Python的简洁性、易读性以及可扩展性,使用Python的人越来越多,目前已更新到3.9版本,但是运算性能低于Java、C++,性能方面仍然有改进的空间。

Python特点

  • 优点
    • 简单易学:语法简单,上手快,初学者可以快速上手
    • 免费开源
    • 开发效率高:拥有非常丰富的第三方库,无需造轮子,快速开发
    • 可扩展性:可以编写Python文件,扩展成Python自定义第三方模块
    • 面向对象:既支持面向过程编程,也支持面向对象编程
    • 可移植性:可以在Linux、windows、FreeBSD等多个系统上运行
    • 丰富的库:有着庞大的标准库
  • 缺点
    • 运行速度慢:这是相对于C来说,因为Python是解释型语言,代码执行需要一行行翻译成CPU可以明白的机器码,比较耗时,而C语音是在运行前直接编译成CPU可以执行的机器码,所以非常快
    • 代码不可加密:因为Python是解释型语言,必须发布源码,而C语音只需要把编译后的文件发布即可

PS:简单说明下解释型语言和编译型语言的差异

类型 原理 优点 缺点
编译型语言 通过特定编译器,将所有源代码一次性转换成特定平台(Windows、Linux 等)执行的机器码 编译完成后,无需依赖编译器运行,运行效率高 可移植性差,不够灵活
解释型语言(Python) 由专门的解释器,根据需要将部分源代码临时转换成特定平台的机器码 可跨平台,通过不同的解释器,将相同的源代码解释成不同平台下的机器码 边执行边转换,效率低

Python前景

2015年我入职搜狐畅游实习系统工程师,当时运维用到的开发语言基本是shell、bat,刚开始使用Python,主要用于运维系统的开发。由于Python语言的简单易上手,我在实习的时候成功的学会了使用Python开发,让我在毕业之后顺利的转岗成为一名Python开发工程师。随着Python语言的流行,Python目前在多个领域被广泛的应用,简单易上手深受大家的欢迎。Python的前景如何?我接下来会从以下几个方面说。

一、语言排名

下图是语言排行榜TOP3的走势图以及2020年编程排行榜TOP10。可以非常明显的看到Python已经超过Java跃居第二,这是自20年前TIOBE指数开始以来,Java和C首次不再占据前两位。我们可以清楚的看到自2018年开始,Python语言的曲线上升明显,一方面是由于数据挖掘、人工智能和数值计算等领域的蓬勃发展,另一方面我觉得是越来越多的需求让Python越来越流行。在之前,编程开发一般都由程序员完成,但是Python的简单易学,语法简单,容易上手,让一些非专业开发人员也能经过简单的学习之后就能开发一些小脚本,小程序辅助自己的工作。就拿我身边的同事来说,一些运营和数据分析师都具备一些Python开发能力,可以在我搭建好web框架之后开发自己的业务接口或者Python脚本。
图片说明

二、Python开发大型项目

国内外也有一些知名大型网站使用Python开发,或者是用到Python。下面我列举几个大家比较熟悉的知名网站或游戏。
图片说明 图片说明图片说明
图片说明图片说明图片说明

  • 知乎:国内最大,日活上千万的问答社区,Python开发(Quora)
  • YouTube:世界上最大的视频网站,Python开发
  • Facebook:世界排名领先的照片分享站点,大量的基础库均通过Python实现
  • Instagram:美国最大的图片分享社交网站,每天超过3千万张照片被分享,完全 用Python开发
  • 魔兽世界:大型网游
  • 豆瓣:国内知名社区网站
    目前国内用到Python的知名互联网公司也不在少数,根据拉勾网上的招聘岗位可以看到,字节跳动、知网、网易、新浪、百度、腾讯、华为等互联网大厂都有Python需求。

三、Python应用领域

图片说明
前面我们说到,Python越来越流行是因为需求大,需求大的一个原因是Python可以应用在多个领域。接下来给大家分享一下Python主要应用的一些领域:

1、web开发

快速搭建网站应用,提供网站系统服务或http接口服务。

  • 岗位:Python后端开发工程师
  • Python应用内容:使用著名web框架django、flask、tornado快速搭建Web服务
  • 岗位内容:开发网站类系统/平台服务,或给业务方提供http接口服务。例如:开发公司官网、绩效系统

2、网络爬虫

通过成熟的爬虫工具或者框架爬取目标网络数据。

  • 岗位:爬虫工程师
  • Python应用内容:使用成熟的爬虫工具和框架,如Requests,Scrapy, pySpider等,爬取网络数据
  • 岗位内容:利用爬虫框架从网络上爬取有用数据。例如:每天定时爬取人民银行汇率数据获取每天最新汇率信息

3、数据可视化

数据计算绘制图表,使数据图表可视化更直观。

  • 岗位:数据分析师(该岗位Python技能是加分项,还需有SQL、统计、数据分析等专业能力)
  • Python应用内容:利用NumPy、SciPy、Matplotlib、pandas等数据分析或处理的库清洗数据,将数据可视化展示
  • 岗位内容:将数据收集、清洗并图表化,输出数据报表给出结论和建议

4、自动化测试

通过脚本或测试框架进行自动化测试,工作效率提升

  • 岗位:测试工程师、测试开发工程师
  • Python应用内容:使用unittest、pytest测试框架进行自动化测试
  • 岗位内容:测试用例设计、接口测试、自动化测试、性能测试、开发自动化测试平台

5、自动化运维

通过脚本或运维流程平台化、界面化,用自动化运维代替人工运维,降低人工操作出错率,提高工作效率;

  • 岗位:运维开发工程师
  • Python应用内容:使用os、paramiko等库开发运维脚本远程操作服务器,django、flask框架开发运维平台
  • 岗位内容:开发运维工具和平台,将运维流程智能化、平台化。如:开发一键装机平台、项目一键部署脚本

6、游戏开发

开发网络游戏

  • 岗位:Python服务端、客户端开发
  • Python应用内容:PyQt开发工具或编辑器,pygame开发游戏服务端、客户端
  • 岗位内容:开发游戏工具、网络游戏客户端、服务端

7、机器学习和人工智能

通过机器学习、人工智能相关领域研究与开发,辅助企业业务需求落地

  • 岗位:深度学习算法工程师、NLP算法工程师、图像算法工程师
  • Python应用内容:Jieba、NLTK实现自然语言处理;scikit-learn、Pandas用于机器学习;PIL强大的图片处理标准库,实现图像识别
  • 岗位内容:机器学习、深度学习领域的研究与开发,核心算法研发

8、云计算

Python是云计算必备的一门编程语言,著名的OpenStack就是由Python开发,国内很多云计算产品也都使用了Python开发。我们还可以二次开发云平台,开发PaaS平台

  • 岗位:云计算后端开发工程师、PaaS平台研发工程师
  • Python应用内容:web框架开发云平台,smtplib、paramiko等一些运维开发用到的模块也会在云计算开发过程中使用
  • 岗位内容:云计算平台、虚拟组件开发

Python岗位相关和待遇

上面我们说到Python在很多领域都应用,这么应用的背景就是需求,我们可以看到很多岗位都有Python的需求,不乏互联网大厂,工资待遇也是比较丰厚。以下是我在创作这篇文章时在拉钩招聘APP看到的一些Python相关的岗位:

  • Python开发工程师
    图片说明
  • 运维开发工程师
    图片说明
  • 服务端开发工程师
    图片说明
    由语言排行榜我们可以看到,Python热度逐渐上升,到2020年11月已经超过java跃居第二,流行度可想而知;再看用Python开发的一些项目来看,不缺乏一些知名大型互联网公司在使用Python,这是对Python最直接的认可;最后我们可以看到,Python目前已经在各领域广泛的应用,在这我们可以发现近年来数据分析、人工智能、运维开发等需求越来越大,需求越大岗位越多,Python相关的岗位有多种选择,同时工资待遇也比较可观。由此可见,Python的发展还在持续,它的前景也是非常可观的。
全部评论

相关推荐

暮雨轻歌:看起来hr不能接受我菜查看图片
点赞 评论 收藏
分享
黑皮白袜臭脚体育生:春节刚过就开卷吗?哈基馆,你这家伙......
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务