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是一种解释型脚本语言,可以应用于以下领域:
图形处理:有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不等
7.就业
Python大势所趋,未来行业核心开发语言,Python强大的生态圈注定它了应用广泛,国内的豆瓣、搜狐、金山、腾讯、盛大、网易、百度、阿里、土豆、新浪等,国外:谷歌、NASA、YOUTU、FACEBOOK、红帽等企业都在广泛应用
8.结后语
本人是第一次发文章,肯定有很多地方是写的不好的,欢迎大家留言指正,有则改之无则加勉。不怕麻烦的也可以点点赞,这样也更有动力点。最后再认识下,我是程序员“左右”