Python,读作['paθɑn],翻译成汉语是蟒蛇的意思,Python的logo也是两条缠绕在一起的蟒蛇的样子,然而Python语言和蟒蛇实际上并没有一毛钱关系。Python命名来自他的开发者所喜欢的一个马戏团。
Python的口号是:“人生苦短,我用Python!”。
Python语言是由荷兰程序员GuidovanRossum,江湖人称“龟叔”,独立开发完成初版的。“龟叔”曾供职于google,现任职于dropbox。1989年圣诞节期间,在阿姆斯特丹,为了打发圣诞节的无趣,决心开发一个新的脚本解释语言。
Python第一个公开发行版发行于1991年,所以这年被当作Python的诞生年。
上图为IEEESpectrum2018年发布的年度编程语言交互排行榜,python稳居榜首。下图为2018年5月PYPL发布的编程语言排行榜,Python第一次打败了C++和Java。
题外话:
最近,StackOverflow发布一系列计算公式及编程语言各方面的排行,有兴趣可以看一下,指路:
前面我们说了Python诞生自1991年,掰掰指头算算都28年了,比1995年的JAVA语言都早了4年,为何大器晚成,现在才发力?
其一,在1990那个年代,计算机性能相比现在差很多,程序执行速度和效率很重要,快速开发不是第一要务,压榨机器性能才是。
其二,Python出身不好。
1.简单易学、明确优雅、开发速度快
简单易学:与C和Java比,Python的学习成本和难度曲线低很多,更适合新手入门,自底向上的技术攀爬路线。明确优雅:Python的语法非常简洁,代码量少,非常容易编写,代码的测试、重构、维护等都非常容易。开发速度快:当前互联网企业的生命线是什么?产品开发速度!
2.跨平台、可移植、可扩展、交互式、解释型、面向对象的动态语言跨平台:Python支持Windows、Linux和MACos等主流操作系统。可移植:代码通常不需要多少改动就能移植到别的平台上使用。
可扩展:Python语言本身由C语言编写而成的,你完全可以在Python中嵌入C,从而提高代码的运行速度和效率。你也可以使用C语言重写Python的任何模块,从根本上改写Python。
交互式:Python提供很好的人机交互界面,比如IDLE和IPython。解释型:Python语言在执行过程中由解释器逐行分析,逐行运行并输出结果。面向对象:Python语言具备所有的面向对象特性和功能,支持基于类的程序开发。动态语言:在运行时可以改变其结构。
3.“自带电池”,大量的标准库和第三方库
Python为我们提供了非常完善的基础库,覆盖了系统、网络、文件、GUI、数据库、文本处理等方方面面,这些是随同解释器被默认安装的,各平台通用,你无需安装第三方支持就可以完成大多数工作,这一特点被形象地称作“自带电池(batteriesincluded)”。
4.社区活跃,贡献者多,互帮互助
技术社区可以给我们对语言的学习和使用提供巨大的帮助,无论是前期的学习,还是日后的工作,只要有问题,技术社区的大牛都可以帮我们解决,有这些助力,可以帮我们更好地了解、学习和使用一门语言。
5.开源语言,发展动力巨大
Python是基于C语言编写的,并且使用GPL开源协议,你可以免费获取它的源代码,进行学习、研究甚至改进。众人拾柴火焰高,有更多的人参与Python的开发,促使它更好的发展,被更多的应用,形成良性循环。
我们光说了Python的优点,也得说说它的缺点。任何编程语言都有缺点,Python也不例外。
其一是运行速度相对慢点。其二是GIL(GlobalInterpreterLock)全局解释器锁。
1.常规软件开发
Python支持函数式编程和OOP面向对象编程,能够承担任何种类软件的开发工作,因此常规的软件开发、脚本编写、网络编程等都属于标配能力。
2.科学计算
随着NumPy,SciPy,Matplotlib,Enthoughtlibrarys等众多程序库的开发,Python越来越适合于做科学计算、绘制高质量的2D和3D图像。
3.WEB开发
基于Python的Web开发框架不要太多,比如耳熟能详的Django,还有Tornado,Flask。其中的Python+Django架构,应用范围非常广,开发速度非常快,学习门槛也很低,能够帮助你快速的搭建起可用的WEB服务。
4.网络爬虫爬虫是大数据行业获取数据的核心工具。
5.数据分析
在大量数据的基础上,结合科学计算、机器学习等技术,对数据进行清洗、去重、规格化和针对性的分析是大数据行业的基石。Python是数据分析的主流语言之一。
6.人工智能
Python在人工智能大范畴领域内的机器学习、神经网络、深度学习等方面都是主流的编程语言,得到广泛的支持和应用。
说了这么多先进的当下最前沿的Python技术方向,那么有哪些公司在使用Python呢?下面是一张不完全的统计图:
最后,让我们来看看Python的官方格言,也就是俗称的Python之禅。在Python的IDLE或者交互式解释器中,输入importthis,你就会看到下面的一段话:
TheZenofPython,byTimPetersBeautifulisbetterthanugly.Explicitisbetterthanimplicit.Simpleisbetterthancomplex.Complexisbetterthancomplicated.Flatisbetterthannested.Sparseisbetterthandense.Readabilitycounts.Specialcasesaren'tspecialenoughtobreaktherules.Althoughpracticalitybeatspurity.Errorsshouldneverpasssilently.Unlessexplicitlysilenced.Inthefaceofambiguity,refusethetemptationtoguess.Thereshouldbeone--andpreferablyonlyone--obviouswaytodoit.Althoughthatwaymaynotbeobviousatfirstunlessyou'reDutch.Nowisbetterthannever.Althoughneverisoftenbetterthan*right*now.Iftheimplementationishardtoexplain,it'sabadidea.Iftheimplementationiseasytoexplain,itmaybeagoodidea.Namespacesareonehonkinggreatidea--let'sdomoreofthose!
Python是一个跨平台、可移植的编程语言,因此可在windows、linux/unix和Macos系统中安装使用。安装完成后,你会得到Python解释器(负责运行python程序),一个命令行交互环境,一个简单的集成开发环境。
1.Python版本的选择
Python有一个独有的版本问题,它同时存在2.x和3.x版本两条发行线,并且两者在语法上有一些不同之处,很多时候3.x并不向2.x兼容。根据官方的解释,Python3是语言的现在和未来,Python2必将成为过去式。
首先前往官网下载安装文件。选择download下的windows,而不要直接选择右侧的按钮,那样你无法选择下载文件的格式:
注意:3.5+以上的Python版本不支持windowsxp及更低版本的操作系统,并且windows7系统必须安装sp1包才可以。进入版本选择页面后,请按下图,选择:
下载完成后,我们会得到一个名字为python-3.7.2-amd64的安装文件,运行文件,会看到安装窗口:
上图中建议选择Customizeinstallation,然后使用类似C:\Python37的路径,方便以后使用。注意下方的AddPython3.7.2toPATH选项,请务必打上勾,这能省去你配置系统环境变量的功夫。
安装验证:
如果中途没有出现什么错误,那么进入CMD界面,运行python-V(大写的V),如果执行结果显示python3.7.2,则表明安装成功。
或者直接输入python,进入下图所示的交互式界面,也表示安装成功了。
如果弹出错误:python不是内部或外部命令,也不是可运行的程序或批处理文件。要么是没正常安装,要么就是环境变量没有设置正确。请按下图中的提示设置环境变量。
Python的学习过程少不了IDE(集成开发环境),这些Python开发工具帮助开发者加快使用Python开发的速度,提高效率。高效的代码编辑器或者IDE应该会提供插件,工具等能帮助开发者高效开发的特性。
下面推荐几款常见的的windows下的PythonIDE,你可以根据自己的喜好来选择适合自己的PythonIDE。
1.IDLE
IDLE是python自带的一个能够编辑、运行、浏览和调试python程序的GUI,可以在几乎任何python平台上运行,包括windows,Linux,MacOS等。
优点:免费,简单易用,可移植,自动支持绝大多数平台局限:保存文件时需明确的添加“.py”;没有图形化界面;没有代码提示;没有包管理效果图查看:
2.PyCharm
PyCharm是由JetBrains打造的一款PythonIDE。
PyCharm具备一般PythonIDE的功能,比如:调试、语法高亮、项目管理、代码跳转、智能提示、自动完成、单元测试、版本控制等。另外,PyCharm还提供了一些很好的功能用于Django开发,同时支持GoogleAppEngine。
3.SublimeText
SublimeText具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。
SublimeText的主要功能包括:拼写检查,书签,完整的PythonAPI,Goto功能,即时项目切换,多选择,多窗口等等。
SublimeText是一个跨平台的编辑器,同时支持Windows、Linux、MacOSX等操作系统。效果图查看:
使用SublimeText2的插件扩展功能,你可以轻松的打造一款不错的PythonIDE,以下推荐几款插件:
CodeIntel:自动补全+成员/方法提示(强烈推荐)SublimeREPL:用于运行和调试一些需要交互的程序(E.G.使用了Input()的程序)BracketHighlighter:括号匹配及高亮SublimeLinter:代码pep8格式检查
4.Eclipse+Pydev
Eclipse安装了PyDev插件后能够支持Python开发。Eclipse是一个流行和强大的python开发工具,包含了对代码完成、语法突出显示、语法分析、重构、调试等功能的支持。
缺点是需要安装较大的系统,并且对于某些功能可能需要共享扩展。效果图查看:
5.VisualStudio在VS中可以创建python工程,但是必须下载相应的pythoninterpreter才能正常使用。
7.其他IDE:Spyder:强大的交互式python开发环境,提供高级的代码编辑、交互测试、调试等特性,支持Windows,Linux等系统。Wing:兼容python2.X和python3.X,可以结合Django,matplotlib等框架使用PyScripter:免费开源