pyhton简介

Python简介

  pythonPython是一种面向对象的解释性的计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史,成熟且稳定。Python 具有脚本语言中最丰富和强大的类库,足以支持绝大多数日常应用。
  Python是一种编程语言,它的名字来源于一个喜剧。也许最初设计Python这种语言的人并没有想到今天Python会在工业和科研上获得如此广泛的使用。著名的自由软件作者Eric Raymond在他的文章《如何成为一名黑客》中,将Python列为黑客应当学习的四种编程语言之一,并建议人们从Python开始学习编程。这的确是一个中肯的建议,对于那些从来没有学习过编程或者并非计算机专业的编程学习者而言,Python是最好的选择之一。第一次学习Python,我只用了不到二十分钟的时间,站在书店里把一本教初学编程的人学习Python的书翻了一遍。也是从那时起,我开始被这种神奇的语言吸引

Python流行的原因

1) 易于学习和使用
对于初学者来说,Python 语言非常易于使用和学习。python 语言是最容易使用的编程语言之一,因为它的语法非常简单,更加强调自然语言。由于易于学习和使用,python 代码可以很容易地编写和执行,比其他编程语言快得多。
Guido van Rossum在 1980 年代创建 python 时,他确保将其设计为一种通用语言。python 流行的主要原因之一是它的语法简单,因此即使是业余开发人员也可以轻松阅读和理解。
人们也可以通过更改 python 的代码库来快速进行实验,因为它是一种解释性语言,这使得它在各种开发人员中更加流行。


2) 成熟的Python社区
Python 是在 30 多年前创建的,对于任何编程语言社区来说,都需要大量的时间来充分成长和成熟,以支持从初学者到专家级别的开发人员。有大量适用于 Python 语言的文档、指南和视频教程可供初学者或者高级研究人员学习,以增强他们在 Python 编程语言方面的知识。
如果任何编程语言缺乏开发人员支持或文档,那么它们就不会增长太多。但是python没有这样的问题,因为它已经存在了很长时间。python 开发者社区是最活跃的编程语言社区之一。
这意味着,如果有人对 python 语言有疑问,他们可以立即从社区中从初学者到专家的各个级别的开发人员那里获得支持。及时获得帮助在项目开发中起着至关重要的作用,否则可能会导致延误。

3) 数百个 Python 库和框架
由于它的企业赞助和 python 的大型支持社区,python 拥有优秀的库,您可以使用它们来选择并节省您在初始开发周期中的时间和精力。还有许多云媒体服务通过类似库的工具提供跨平台支持,这非常有帮助。
还可以使用具有特定重点的库,例如用于自然语言处理的 nltk 或用于机器学习应用程序的 scikit-learn。
有许多框架和库可用于 python 语言,例如:

  • matplotib 用于绘制图表和图形
  • 用于工程应用、科学和数学的 SciPy
  • BeautifulSoup 用于 HTML 和 XML 解析
  • 用于科学计算的 NumPy
  • 用于服务器端 Web 开发的 Django

4) 多功能性、效率、可靠性和速度
询问任何 python 开发人员,他们都会同意 python 语言比大多数现代语言高效、可靠且速度更快。Python 几乎可以在任何类型的环境中使用,并且无论使用何种平台,都不会面临任何类型的性能损失问题。
关于 python 语言多功能性的另一件最好的事情是它可以用于多种环境,例如移动应用程序、桌面应用程序、Web 开发、硬件编程等等。由于其大量的应用程序,python 的多功能性使其更具吸引力。



5) Python 语言的灵活性
python 语言非常灵活,它让开发人员有机会尝试新事物。精通python语言的人不仅限于构建类似的东西,还可以继续尝试制作与以前不同的东西。
Python 不限制开发人员开发任何类型的应用程序。这种只学习一种语言的自由和灵活性是其他编程语言所不具备的。

6) 自动化
Python 语言可以在任务自动化方面提供很多帮助,因为有很多可用的工具和模块,这让事情变得更加舒适。令人难以置信的是,只需使用必要的 Python 代码就可以轻松达到高级自动化水平。
Python 也是软件测试自动化中最好的性能助推器。人们会惊讶于为自动化工具编写代码所需的时间和行数要少得多。

Python优缺点 

优点
简单:Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样,尽管这个英语的要求非常严格!Python的这种伪代码本质是它最大的优点之一。它使你能够专注于解决问题而不是去搞明白语言本身。

易学:就如同你即将看到的一样,Python极其容易上手。前面已经提到了,Python有极其简单的语法。

免费、开源:Python是FLOSS(自由/开放源码软件)之一。简单地说,你可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。FLOSS是基于一个团体分享知识的概念。这是为什么Python如此优秀的原因之一——它是由一群希望看到一个更加优秀的Python的人创造并经常改进着的。

高层语言:当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节。

可移植性:由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。如果你小心地避免使用依赖于系统的特性,那么你的所有Python程序无需修改就可以在下述任何平台上面运行。这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE甚至还有PocketPC、Symbian以及Google基于linux开发的Android平台!

面向对象:Python既支持面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。与其他主要的语言如C++和Java相比,Python以一种非常强大又简单的方式实现面向对象编程。

可扩展性:如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。

规范的代码:Python采用强制缩进的方式使得代码具有极佳的可读性。

解释型语言:一个用编译型语言比如C或C++写的程序可以从源文件(即C或C++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)。这个过程通过编译器和不同的标记、选项完成。当你运行你的程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并且运行。而Python语言写的程序不需要编译成二进制代码。你可以直接从源代码运行程序。在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。事实上,由于你不再需要担心如何编译程序,如何确保连接转载正确的库等等,所有这一切使得使用Python更加简单。由于你只需要把你的Python程序拷贝到另外一台计算机上,它就可以工作了,这也使得你的Python程序更加易于移植。

丰富的库:Python标准库确实很庞大。它可以帮助你处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。记住,只要安装了Python,所有这些功能都是可用的。这被称作Python的“功能齐全”理念。除了标准库以外,还有许多其他高质量的库,如wxPython、Twisted和Python图像库等等。

缺点
Python语言非常完善,没有明显的短板和缺点,唯一的缺点就是执行效率慢,这个是解释型语言所通有的,同时这个缺点也将被计算机越来越强大的性能所弥补。

Python应用场景 

Web应用开发

Python经常被用于Web开发。比如,通过mod_wsgi模块,Apache可以运行用Python编写的Web程序。Python定义了WSGI标准应用接口来协调Http服务器与基于Python的Web程序之间的通信。一些Web框架,如Django,TurboGears,web2py,Zope等,可以让程序员轻松地开发和管理复杂的Web程序。

操作系统管理、服务器运维的自动化脚本

在很多操作系统里,Python是标准的系统组件。 大多数Linux发行版以及NetBSD、OpenBSD和Mac OS X都集成了Python,可以在终端下直接运行Python。有一些Linux发行版的安装器使用Python语言编写,比如Ubuntu的Ubiquity安装器,Red Hat Linux和Fedora的Anaconda安装器。Gentoo Linux使用Python来编写它的Portage包管理系统。Python标准库包含了多个调用操作系统功能的库。通过pywin32这个第三方软件 包,Python能够访问Windows的COM服务及其它Windows API。使用IronPython,Python程序能够直接调用.Net Framework。一般说来,Python编写的系统管理脚本在可读性、性能、代码重用度、扩展性几方面都优于普通的shell脚本。

网络爬虫

Python有大量的HTTP请求处理库和HTML解析库,并且有成熟高效的爬虫框架Scrapy和分布式解决方案scrapy-redis,在爬虫的应用方面非常广泛。

科学计算
NumPy、SciPy、Pandas、Matplotlib可以让Python程序员编写科学计算程序。

桌面软件
PyQt、PySide、wxPython、PyGTK是Python快速开发桌面应用程序的利器。

服务器软件(网络软件)
Python对于各种网络协议的支持很完善,因此经常被用于编写服务器软件、网络爬虫。第三方库Twisted支持异步网络编程和多数标准的网络协议(包含客户端和服务器),并且提供了多种工具,被广泛用于编写高性能的服务器软件。

游戏
很多游戏使用C++编写图形显示等高性能模块,而使用Python或者Lua编写游戏的逻辑、服务器。相较于Python,Lua的功能更简单、体积更小;而Python则支持更多的特性和数据类型。

Google、NASA、Facebook都在内部大量地使用Python。
 

猜你喜欢

转载自blog.csdn.net/weixin_50877409/article/details/128900748