python到底是什么?一文让你全面了解python
1.前语
大家好,我是程序员左右,今天这篇文章是让那些一知半解的人更加全面的了解python这一计算机编程语言,本文不包含技术性问题,也不讲进阶技能,只单纯说python是什么?用途是什么?行业前景怎样?就业率怎样?当然也有大家最关心的薪酬。当然也会有很多小伙伴问难不难学,我的回答是“不难” 俗话说世上无难事 只怕有心人,进入正题,本文说的很全面,大家有需要的对号入座。
2.诞生历史
Python由荷兰数学和计算机科学研究学会的Guido van Rossum 于1990 年代初设计,作为一门叫做ABC语言的替代品。 Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言, 随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。
Python解释器易于扩展,可以使用C或C++(或者其他可以通过C调用的语言)扩展新的功能和数据类型。 Python 也可用于可定制化软件中的扩展程序语言。Python丰富的标准库,提供了适用于各个主要系统平台的源码或机器码。
3.发展历史
自从20世纪90年代初Python语言诞生至今,它已被逐渐广泛应用于系统管理任务的处理和Web编程。
Python 已经成为最受欢迎的程序设计语言之一。自从2004年以后,python的使用率呈线性增长。Python 2于2000年10月16日发布,稳定版本是Python 2.7。Python 3于2008年12月3日发布,不完全兼容Python 2。 2011年1月,它被TIOBE编程语言排行榜评为2010年度语言。
3.Python 特点1.易于学习:Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。
2.易于阅读:Python代码定义的更清晰。
3.易于维护:Python的成功在于它的源代码是相当容易维护的。
4.一个广泛的标准库:Python的最大的优势之一是丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好。
5.互动模式:互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断。
6.可移植:基于其开放源代码的特性,Python已经被移植(也就是使其工作)到许多平台。
7.可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。
8.数据库:Python提供所有主要的商业数据库的接口。
9.GUI编程:Python支持GUI可以创建和移植到许多系统调用。
10.可嵌入: 你可以将Python嵌入到C/C++程序,让你的程序的用户获得"脚本化"的能力。
4.应用领域
Python是一种解释型脚本语言,可以应用于以下领域:
Web 和 Internet开发科学计算和统计人工智能桌面界面开发软件开发后端开发网络接口:能方便进行系统维护和管理,Linux下标志性语言之一,是很多系统管理员理想的编程工具。图形处理:有PIL、Tkinter等图形库支持,能方便进行图形处理。
数学处理:NumPy扩展提供大量与许多标准数学库的接口。
文本处理:python提供的re模块能支持正则表达式,还提供SGML,XML分析模块,许多程序员利用python进行XML程序的开发。
数据库编程:程序员可通过遵循Python DB-API(应用程序编程接口)规范的模块与Microsoft SQL Server,Oracle,Sybase,DB2,MySQL、SQLite等数据库通信。python自带有一个Gadfly模块,提供了一个完整的SQL环境。
网络编程:提供丰富的模块支持sockets编程,能方便快速地开发分布式应用程序。很多大规模软件开发计划例如Zope,Mnet 及BitTorrent. Google都在广泛地使用它。
Web编程:应用的开发语言,支持最新的XML技术。
多媒体应用:Python的PyOpenGL模块封装了“OpenGL应用程序编程接口”,能进行二维和三维图像处理。PyGame模块可用于编写游戏软件。
pymo引擎:PYMO全称为python memories off,是一款运行于Symbian S60V3,Symbian3,S60V5, Symbian3, Android系统上的AVG游戏引擎。因其基于python2.0平台开发,并且适用于创建秋之回忆(memories off)风格的AVG游戏,故命名为PYMO。
黑客编程:python有一个hack的库,内置了你熟悉的或不熟悉的函数,但是缺少成就感。
用Python写简单爬虫
首先,要通过urllib2这个Module获得对应的HTML源码。(PS:在python3.3之后urllib2已经不能再用,代之以urllib)
5.行业著名应用
Digwebs-Web应用框架
Pylons-Web应用框架
Zope- 应用服务器
Plone- 内容管理系统
Django- 鼓励快速开发的Web应用框架
Uliweb- 国人开发的轻量级Web框架
TurboGears- 另一个Web应用快速开发框架
Twisted--Python的网络应用程序框架
Python Wikipedia Robot Framework- MediaWiki的机器人程序
MoinMoinWiki- Python写成的Wiki程序
flask- Python 微Web框架
tornado- 非阻塞式服务器
Webpy- Python 微Web框架
Bottle- Python 微Web框架
EVE- 网络游戏EVE大量使用Python进行开发
Reddit - 社交分享网站
Dropbox - 文件分享服务
TurboGears - 另一个Web应用快速开发框架
Fabric - 用于管理成百上千台Linux主机的程序库
Trac - 使用Python编写的BUG管理系统
Mailman - 使用Python编写的邮件列表软件
Mezzanine - 基于Django编写的内容管理系统
Blender - 以C与Python开发的开源3D绘图软件
6.python前景
国务院发布了《新一代人工智能发展规划》人工智能正式纳入国家发展战略,开启了国内人工智能产业发展的新篇章。2017年Python还被列入全国计算机等级考试,山东省小学课程加入了Python,浙江省、北京市、山东省已把Python纳入信息技术课程和高考的内容体系
目前Python 在学术领域非常受欢迎,尤其是非计算机专业。这门语言的前景会非常好。它语法简单易读,消除了普通人对于“编程”这一行为的恐惧,让越来越多的非程序员开始通过编写简单的程序,让自己的生活、工作和学习更美好。
这部分人可能永远也不会研究底层,不会关心运行效率,甚至不会学习 Python 之外的语言。他们只需要一门能让他们快速上手和计算机“交谈”的语言。这是 Python 最大的意义。
几乎全行业都在发展人工智能+Python,各家知名企业都需要大量人工智能人才,20年人才缺口超过100万,薪资15W-150W不等
人工智能科学家工作8-10年年薪100W+数据分析科学家工作8-10年年薪80W+AI数据分析师工作8-10年年薪60W+人工智能专家工作8-10年年薪35W+人工智能工程师工作8-10年年薪20W+Python工程师工作8-10年年薪15W+7.就业
Python大势所趋,未来行业核心开发语言,Python强大的生态圈注定它了应用广泛,国内的豆瓣、搜狐、金山、腾讯、盛大、网易、百度、阿里、土豆、新浪等,国外:谷歌、NASA、YOUTU、FACEBOOK、红帽等企业都在广泛应用
8.结后语
本人是第一次发文章,肯定有很多地方是写的不好的,欢迎大家留言指正,有则改之无则加勉。不怕麻烦的也可以点点赞,这样也更有动力点。最后再认识下,我是程序员“左右”