Python语言是一种面向对象的解释性的计算机程序

作者: 编程  发布:2019-09-05

Python语言是一种面向对象的解释性的计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史,成熟且稳定,下面进行学习Python调用的相关介绍。

Python编程语言是如何进行相关的市场推广。下面我们就来看看Python编程语言如何进行相关的技术应用。先来了解相关的发展历程。希望对大家有所帮助。

别以为Python是一种很学院派的语言,尽管很多人认为它十分适合作为学习编程的入门语言,为此我也苦恼很久,后来终于让我找到了解决办法,希望大家能够学习到相关内容。

python 介绍

一、简介

 Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/),是一种广泛使用的高级编程语言,属于通用型编程语言,由Guido van Rossum 创造,第一版发布于 1991 年。作为一种解释型语言,Python 的设计哲学强调代码的可读性和简洁的语法(尤其是使用空格缩进划分代码块,而非使用大括号或者关键词)。相比 C 或 Java,Python 让开发者能够用更少的代码表达想法。不管是小型还是大型程序,该语言都试图让程序的结构清晰明了。

与 Scheme、Ruby、Perl、Tcl 等动态类型编程语言一样,Python 拥有动态类型系统和垃圾回收功能,能够自动管理内存使用,并且支持多种编程范式,包括面向对象、命令式、函数式和过程式编程。其本身拥有一个巨大而广泛的标准库。

Python 虚拟机本身几乎可以在所有的操作系统中运行。Python 的官方解释器 CPython,用 C语言 编写,是一个由社区驱动的自由软件,目前由 Python软件基金会管理。

 

二、历史

Python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。之所以选中Python作为程序的名字,是因为他是BBC电视剧——蒙提·派森的飞行马戏团(Monty Python's Flying Circus)的爱好者。ABC是由吉多参加设计的一种教学语言。就吉多本人看来,ABC这种语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,吉多认为是非开放造成的。吉多决心在Python中避免这一错误,并获取了非常好的效果,完美结合了C和其他一些语言。[[5]](https://zh.wikipedia.org/wiki/Python#cite_note-python_history-5)

就这样,Python在吉多手中诞生了。实际上,第一个实现是在Mac机上。可以说,Python是从ABC发展起来,主要受到了Modula-3(另一种相当优美且强大的语言,为小型团体所设计的)的影响。并且结合了Unix shell和C的习惯。

目前吉多仍然是Python的主要开发者,决定整个Python语言的发展方向。Python社区经常称呼他是仁慈的独裁者

Python 2.0于2000年10月16日发布,增加了实现完整的垃圾回收),并且支持Unicode。同时,整个开发过程更加透明,社区对开发进度的影响逐渐扩大。Python 3.0于2008年12月3日发布,此版不完全兼容之前的Python源代码。不过,很多新特性后来也被移植到旧的Python 2.6/2.7版本。

Python是完全面向对象的语言。函数、模块、数字、字符串都是对象。并且完全支持继承、重载、派生、多重继承,有益于增强源代码的复用性。Python支持重载运算符,因此Python也支持泛型设计。相对于Lisp这种传统的函数式编程语言,Python对函数式设计只提供了有限的支持。有两个标准库(functools, itertools)提供了与Haskell和Standard ML中类似的函数式程序设计工具。

虽然Python可能被粗略地分类为“脚本语言”(script language),但实际上一些大规模软件开发项目例如Zope、Mnet及BitTorrent),Google也广泛地使用它。Python的支持者较喜欢称它为一种高级动态编程语言,原因是“脚本语言”泛指仅作简单程序设计任务的语言,如shell script、VBScript等只能处理简单任务的编程语言,并不能与Python相提并论。

Python本身被设计为可扩充的。并非所有的特性和功能都集成到语言核心。Python提供了丰富的API和工具,以便程序员能够轻松地使用C、C 、Cython来编写扩充模块。Python编译器本身也可以被集成到其它需要脚本语言的程序内。因此,有很多人把Python作为一种“胶水语言”(glue language)使用。使用Python将其他语言编写的程序进行集成和封装。在Google内部的很多项目,例如Google App Engine使用C 编写性能要求极高的部分,然后用Python或Java/Go调用相应的模块。[[6]](https://zh.wikipedia.org/wiki/Python#cite_note-6)《Python技术手册》的作者马特利(Alex Martelli)说:“这很难讲,不过,2004年,Python已在Google内部使用,Google召募许多Python高手,但在这之前就已决定使用Python。他们的目的是尽量使用Python,在不得已时改用C ;在操控硬件的场合使用C ,在快速开发时候使用Python。[ ](https://zh.wikipedia.org/wiki/Python#cite_note-7)

 

三、应用范围

这种语言具有非常简捷而清晰的语法特点,适合完成各种高层任务,几乎可以在所有的操作系统中运行。目前,基于这种语言的相关技术正在飞速的发展,用户数量急剧扩大,相关的资源非常多。

Python编程语言的创始人为Guido van Rossum。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为 ABC 语言的一种继承。之所以选中 Python大蟒蛇的意思)作为程序的名字,是因为他是一个Monty Python的飞行马戏团的爱好者。

就Guido本人看来,ABC 这种语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,Guido 认为是非开放造成的。Guido 决心在 Python 中避免这一错误的确如此,Python 与其它的语言如C、C 和Java结合的非常好)。同时,他还想实现在 ABC 中闪现过但未曾实现的东西。

Web程序

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

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

下面是一个在标准输出设备上输出Hello World的简单程序,这种程序通常作为开始学习编程语言时的第一个程序:

ABC是由Guido参加设计的一种教学语言。就Guido本人看来,ABC 这种语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,Guido 认为是非开放造成的。Guido 决心在 Python 中避免这一错误的确如此,Python 与其它的语言如C、C 和Java结合的非常好)。同时,他还想实现在 ABC 中闪现过但未曾实现的东西。

就这样,Python在Guido手中诞生了。实际上,第一个实现是在Mac机上。可以说,Python是从ABC发展起来,主要受到了Modula-3另一种相当优美且强大的语言,为小型团体所设计的)的影响。并且结合了Unix shell和C的习惯。虽然 Python 可能被粗略地分类为"脚本语言scripting language)", 实际上一些大规模软件开发计划例如 Zope, Mnet 及 BitTorrent. Google也广泛地使用它。

GUI开发

Python本身包含的Tkinter库能够支持简单的GUI开发。但是越来越多的Python程序员选择wxPython或者PyQt等GUI包来开发跨平台的桌面软件。使用它们开发的桌面软件运行速度快,与用户的桌面环境相契合。通过PyInstaller还能将程序发布为独立的安装程序包。

if age<21: print "You cannot buy wine!n"  print "But you can buy chewing gum.n"  print "this is outside ifn" 

就这样,Python编程语言在Guido手中诞生了。实际上,第一个实现是在Mac机上。可以说,Python是从ABC发展起来,主要受到了Modula-3另一种相当优美且强大的语言,为小型团体所设计的)的影响。并且结合了Unix shell和C的习惯。

Python 的支持者较喜欢称它为一种高阶动态编程语言 , 原因是"脚本语言" 泛指单用作简单编程任务如 shell scripts ,而Python不能与JavaScript等只能处理简单任务的编程语言相提并论。

操作系统

在很多操作系统里,Python是标准的系统组件。大多数Linux发行版和Mac OS X都集成了Python,可以在终端机下直接运行Python。有一些Linux发行版的安装器使用Python语言编写,比如Ubuntu的Ubiquity安装器、Red Hat Linux和Fedora的Anaconda安装器。在RPM系列Linux发行版中,有一些系统组件就是用Python编写的。Gentoo Linux使用Python来编写它的Portage软件包管理系统。Python标准库包含了多个调用作业系统功能的库。通过pywin32这个第三方软件包,Python能够访问Windows的COM服务及其它Windows API。使用IronPython,Python程序能够直接调用.Net Framework。

Python的创始人为Guido van Rossum。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序。做为 ABC 语言的一种继承。之所以选中 Python大蟒蛇的意思)作为程序的名字。

Python编程语言中的定位

可扩充性可说是Python作为一种编程语言的特色。新的内置模块module)可以用C 或 C 写成。而我们也可为现成的模块加上Python的接口。Python可以使用户避免过分的语法的羁绊而将精力主要集中到所要实现的程序任务上。

其他

NumPy、SciPy、Matplotlib可以让Python程序员编写科学计算程序。有些公司会使用Scons代替make构建C 程序。

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

YouTube、Google、Yahoo!、NASA都在内部大量地使用Python。OLPC的作业系统Sugar项目的大多数软件都是使用Python编写。

 

PS:以上内容摘录 维基百科。

 

是因为他是一个Monty Python的飞行马戏团的爱好者。ABC是由Guido参加设计的一种教学语言。就Guido本人看来,ABC 这种语言非常优美和强大,是专门为非专业程序员设计的。

虽然 Python 可能被粗略地分类为"脚本语言scripting language)", 实际上一些大规模软件开发计划例如 Zope, Mnet 及 BitTorrent. Google也广泛地使用它。 Python 的支持者较喜欢称它为一种高阶动态编程语言 , 原因是"脚本语言" 泛指单用作简单编程任务如 shell scripts ,而Python不能与JavaScript等只能处理简单任务的编程语言相提并论。

Python也被称为是一门清晰的语言。因为它的作者在设计它的时候,总的指导思想是,对于一个特定的问题,只要有一种最好的方法来解决就好了。这在由Tim Peters写的python格言称为The Zen of Python)里面表述为:

 

 

但是ABC语言并没有成功,究其原因,Guido 认为是非开放造成的。Guido 决心在 Python 中避免这一错误的确如此,Python 与其它的语言如C、C 和Java结合的非常好)。同时,他还想实现在 ABC 中闪现过但未曾实现的东西。虽然 Python 可能被粗略地分类为"脚本语言scripting language)", 实际上一些大规模软件开发计划例如 Zope, Mnet 及 BitTorrent. Google也广泛地使用它。

Python编程语言的特色

if age<21:      print "You cannot buy wine!n"       print "But you can buy chewing gum.n"   print "this is outside ifn" 

Python 的支持者较喜欢称它为一种高阶动态编程语言 , 原因是"脚本语言" 泛指单用作简单编程任务如 shell scripts ,而Python不能与JavaScript等只能处理简单任务的编程语言相提并论。

可扩充性可说是Python作为一种编程语言的特色。新的内置模块module)可以用C 或 C 写成。而我们也可为现成的模块加上Python的接口。Python可以使用户避免过分的语法的羁绊而将精力主要集中到所要实现的程序任务上。

一个和其他大多数语言如C)的区别就是,一个模块的界限,完全是由每行的首字符在这一行的位置来决定的而C语言是用一对花括号{}来明确的定出模块的边界的,与字符的位置毫无关系)。

  • 如何正确的设计Python?
  • 有关Python 2.0 XML问题全解析
  • 探秘丰富多彩的Python语言
  • C 调用python脚本函数基本应用指南
  • 如何正常使用Python语言
  • 对Python编程语言历史说明介绍
  • 有关Python编程语言进行描述
  • Python编程语言与Java的性能比较
  • Python编程语言与Zpoe之间不解的情缘
  • Python编程语言在网站开发中的妙用

这一点曾经引起过争议。因为自从C这类的语言诞生后,语言的语法含义与字符的排列方式分离开来,曾经被认为是一种程序语言的进步。不过不可否认的是,通过强制程序员们缩进包括if,for和函数定义等所有需要使用模块的地方),Python确实使得程序更加清晰和美观。

可扩充性可说是Python作为一种编程语言的特色。新的内置模块module)可以用C 或 C 写成。而我们也可为现成的模块加上Python的接口。Python可以使用户避免过分的语法的羁绊而将精力主要集中到所要实现的程序任务上。

Python也被称为是一门清晰的语言。因为它的作者在设计它的时候,总的指导思想是,对于一个特定的问题,只要有一种最好的方法来解决就好了。这在由Tim Peters写的python格言称为The Zen of Python)里面表述为:

Python清晰可读的语法使得软件代码具有异乎寻常的易读性,甚至对那些不是最初接触和开发原始项目的程序员都 能具有这样的强烈感觉。虽然某些程序员反对在Python代码中大量使用空格,不过,几乎人人都承认Python代码的可读性远胜于C或者Java,后两 者都采用了专门的字符标记代码块结构、循环、函数以及其他编程结构的开始和结束。提倡Python的人还宣称,采用这些字符可能会产生显著的编程风格差 异,使得那些负责维护代码的人遭遇代码可读性方面的困难。
Python明晰的语法使其成为一种学习曲线平和的编程语言。有经验的程序员甚至可能在一天之内就掌握Python的基础知识,至多不过一周作用就可以上手,而编程语言的专家则肯定会比他掌握C、C 、Java甚至Perl要快很多。

Python也被称为是一门清晰的语言。因为它的作者在设计它的时候,总的指导思想是,对于一个特定的问题,只要有一种最好的方法来解决就好了。这在由Tim Peters写的python格言称为The Zen of Python)里面表述为:

There should be one-- and preferably only one --obvious way to do it.

  1. 如何使Python嵌入C 应用程序?
  2. 深入探讨Ruby与Python语法比较
  3. Python学习资料介绍分享
  4. Python学习经验谈:版本、IDE选择及编码解决方案
  5. 浅析Python的GIL和线程安全

有意思的是,这正好和Perl语言另一种功能类似的高级动态语言)的中心思想TMTOWTDIThere's More Than One Way To Do It)完全相反。这似乎是人们常把Perl和Python互相比较的重要原因。

有意思的是,这正好和Perl语言另一种功能类似的高级动态语言)的中心思想TMTOWTDIThere's More Than One Way To Do It)完全相反。这似乎是人们常把Perl和Python编程语言互相比较的重要原因。

...

9159.com ,Python语言是一种清晰的语言的另一个意思是,它的作者有意的设计限制性很强的语法,使得不好的编程习惯例如if语句的下一行不向右缩进)都不能通过编译。这样有意的强制程序员养成良好的编程习惯。其中很重要的一项就是Python调用的缩进规则。

Python编程语言是一种清晰的语言的另一个意思是,它的作者有意的设计限制性很强的语法,使得不好的编程习惯例如if语句的下一行不向右缩进)都不能通过编译。这样有意的强制程序员养成良好的编程习惯。其中很重要的一项就是Python的缩进规则。

虽然Python是一个非常成功的语言,但是也有必要明白它的局限性。

例如if语句:

1. 运行效率低下目前为止,Python可以说是所有主流脚本语言中速度最慢的。(是这样么?待考.)这与其脚本引擎的设计思路有关。如果你的应用对于速度有着较高的要求,就要考虑Python是否能满足需要。不过这一点可以通过使用C编写关键模块,然后由Python调用的方式加以部分解决。

if age<21: print "You cannot buy wine!n"  print "But you can buy chewing gum.n"  print "this is outside ifn" 
  1. 多线程支持欠佳Python支持多线程,但是其运行效率也不高。

一个和其他大多数语言如C)的区别就是,一个模块的界限,完全是由每行的首字符在这一行的位置来决定的而C语言是用一对花括号{}来明确的定出模块的边界的,与字符的位置毫无关系)。这一点曾经引起过争议。因为自从C这类的语言诞生后,语言的语法含义与字符的排列方式分离开来,曾经被认为是一种程序语言的进步。不过不可否认的是,通过强制程序员们缩进包括if,for和函数定义等所有需要使用模块的地方),Python确实使得程序更加清晰和美观。

3. 独特的语法这也许不应该被称为局限,但是它用缩进来区分语句关系的方式还是给很多初学者带来了困惑。即便是很有经验的Python程序员,也可能陷入陷阱当中。最常见的情况是tab和空格的混用会导致错误,而这是用肉眼无法分别的。

另外Python在其他部分的设计上也坚持了清晰划一的风格,这使得Python编程语言称为一门易读性、易维护性好,并且被大量用户所欢迎的、用途广泛的语言。

4. 无类型作为一种动态语言,随时随地创建和使用变量是Python给我们带来的巨大的便利。但是它也会使得程序不严谨,某些错误只有在运行中才可能出现。所以,使用Python编程的时候,要对类型做到心里有数。这也使得Python调用的IDE工具无法提供便利的自动完成等功能。

...

...

本文由9159.com发布于编程,转载请注明出处:Python语言是一种面向对象的解释性的计算机程序

关键词: 9159.com

上一篇:文件编码,要在第一行加入   
下一篇:没有了