`
gq913
  • 浏览: 169021 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Python简介

阅读更多
Python(发音:[ 'paiθ(ə)n; (US) 'paiθɔn ]),是一种面向对象的解释性的计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史,成熟且稳定。Python 具有脚本语言中最丰富和强大的类库,足以支持绝大多数日常应用。

这种语言具有非常简捷而清晰的语法特点,适合完成各种高层任务,几乎可以在所有的操作系统中运行。

目前,基于这种语言的相关技术正在飞速的发展,用户数量急剧扩大,相关的资源非常多。

Python的Hello World程序

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

#!/usr/bin/env python

print "Hello, world!"

或者:
import sys

sys.stdout.write("Hello, world\n")

Python的历史

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

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

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

Python在编程语言中的定位

很多大规模软件开发计划例如 Zope, Mnet 及 BitTorrent. Google都在广泛地使用它。

通常认为,Python是一种解释性的语言,但是这种说法是不正确的,实际上,Python在执行时,首先会将.py文件中的源代码编译成Python的byte code(字节码),然后再由Python Virtual Machine来执行这些编译好的byte code。这种机制的基本思想跟Java,.NET是一致的。然而,Python Virtual Machine与Java或.NET的Virtual Machine不同的是,Python的Virtual Machine是一种更高级的Virtual Machine。这里的高级并不是通常意义上的高级,不是说Python的Virtual Machine比Java或.NET的功能更强大,而是说和Java 或.NET相比,Python的Virtual Machine距离真实机器的距离更远。或者可以这么说,Python的Virtual Machine是一种抽象层次更高的Virtual Machine。

基于C的Python编译出的字节码文件,通常是.pyc格式。

Python的特色

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

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

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

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

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

例如if语句:

if age<21:

    print "You cannot buy wine!\n"

    print "But you can buy chewing gum.\n"

print "this is outside if\n"

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

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

Python直接编写的程序段有时运行效率甚至高于用C编写的程序。

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

2. 命令行输出问题
   很多时候不能将程序连写成一行,如import sys;for i in sys.path:print i。而perl和awk就无此限制,可以较为方便的在shell下完成简单程序,不需要如Python一样,必须将程序写入一个.py文件。(对很多用户而言这也不算是限制)


Python的前景
  Python在编程领域的占有率一直处于稳步上升之中,根据最新的数据,Python排名第七。前六名分别是Java,C,VB,C++,PHP和Perl. 作为一个很年轻的语言,Python的位置已经相当令人振奋了。随着微软将Python纳入.Net 平台,相信Python的将来会更加强劲发展。Python 很可能会成为.Net平台快速开发的主流语言。欲了解这方面情况,请参考Iron Python的相关信息.
  著名的搜索引擎 Google 也大量使用Python。更加令人吃惊的是,在Nokia智能手机所采用的Symbian操作系统上,Python成为继C++,Java之后的第三个编程语言!可见Python的影响力之巨大。

Python的应用

Zope-应用服务器

Plone-内容管理系统

Django-鼓励快速开发的web framework

Twisted - Python Network Application Framework Python的网络应用程序框架

TurboGears - 另一个Web应用快速开发框架

Bit Torrent - 著名的BT下载工具

2006年的Google编程大赛已经将Python作为参赛语言之一

参考资料:
 1.http://www.python.org/ python.org - Python 的官方网站
 2.http://python.cn/ - Python 中文社区
 3.http://www.codeplex.com/Wiki/View.aspx?ProjectName=IronPython - Python For Dot Net 的网站
分享到:
评论
2 楼 gq913 2008-01-30  
是的,我也是在用一个性能测试工具时才接触的,感觉很新鲜。
1 楼 魔力猫咪 2008-01-30  
不过国内一直比较少见。虽然有些书,但是很少在招聘网站上看到招聘Python的开发人员。

相关推荐

    1.1 Python简介

    【标题】: "1.1 Python简介" 在编程领域,Python是一种高级、解释型、交互式和面向对象的脚本语言。"1.1 Python简介"这个标题暗示了这是一个入门级别的教程,旨在介绍Python的基本概念和特性,为初学者提供一个良好...

    python简介,python历史介绍

    python简介python简介python简介python简介python简介

    python简介及应用实例及实例分析.txt

    pythonpython简介及应用实例及实例分析.txtpython简介及应用实例及实例分析.txtpython简介及应用实例及实例分析.txtpython简介及应用实例及实例分析.txtpython简介及应用实例及实例分析.txtpython简介及应用实例及...

    python简介及基础教程及特点阐述.txt

    pythonpython简介及基础教程及特点阐述.txtpython简介及基础教程及特点阐述.txtpython简介及基础教程及特点阐述.txtpython简介及基础教程及特点阐述.txtpython简介及基础教程及特点阐述.txtpython简介及基础教程及...

    python简介及基础教程和实用案例分析及特点阐述

    pythonpython简介及基础教程和实用案例分析及特点阐述python简介及基础教程和实用案例分析及特点阐述python简介及基础教程和实用案例分析及特点阐述python简介及基础教程和实用案例分析及特点阐述python简介及基础...

    python简介及基础教程和实用案例分析及特点阐述.txt

    pythonpython简介及基础教程和实用案例分析及特点阐述.txtpython简介及基础教程和实用案例分析及特点阐述.txtpython简介及基础教程和实用案例分析及特点阐述.txtpython简介及基础教程和实用案例分析及特点阐述.txt...

    Python简介及基础教程和实用案例分析及特点阐述.txt

    pythonPython简介及基础教程和实用案例分析及特点阐述.txtPython简介及基础教程和实用案例分析及特点阐述.txtPython简介及基础教程和实用案例分析及特点阐述.txtPython简介及基础教程和实用案例分析及特点阐述.txt...

    Python简介.pptx

    大学计算机基础 第2讲 ——Python简介I Python简介全文共42页,当前为第1页。 工科大学生的学习目标outcome Abilities of reading Chinese or English books, summarizing a topics, expressing your own ideas ...

    Python简介.pdf

    "Python简介" Python是一种简单易学且结合了解释性、编译性、互动性和面向对象的脚本语言。它提供了高级数据结构,其语法和动态类型以及解释性使它成为广大开发者的首选编程语言。Python是解释型语言,开发过程中...

    Python简介与环境搭建(课件)

    Python是一种高级编程语言,由荷兰数学家和计算机科学家Guido van Rossum在1989年圣诞节期间发明。它的名称来源于Guido喜爱的英国电视节目"Monty Python's Flying Circus"。自90年代初发布以来,Python已经成为系统...

    Python 简介.pdf

    Python 简介 Python 是一种高层次的脚本语言,结合了解释性、编译性、互动性和面向对象的编程技术。 Python 设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更...

    什么是Python?Python简介.docx

    【Python简介】 Python是一种高级、解释型的编程语言,它以其简洁、易读的语法而闻名,成为全球最受欢迎的编程语言之一。Python的设计理念强调代码的可读性和简洁的语法,使得程序的编写更为直观,这尤其有利于初学...

    Python 简介 Python 是一个高层次的结合.rar

    一、python简介 Python是一个高层次的结合解释性、编译性、互动性和面向对象的脚本语言,支持命令式编程、函数式编程和面向对象程序设计,具有广泛的应用领域。Python语言诞生于1990年,由Guido van Rossum设计并...

    python 简介..ppt

    关于python的ppt,里面每页基本都是一个知识点,参照学习还是挺不错的。

    python简介及实际案例及案例详解.rar

    pythonpython简介及实际案例及案例详解.rarpython简介及实际案例及案例详解.rarpython简介及实际案例及案例详解.rarpython简介及实际案例及案例详解.rarpython简介及实际案例及案例详解.rarpython简介及实际案例及...

    python简介及基础教程及特点阐述.rar

    pythonpython简介及基础教程及特点阐述.rarpython简介及基础教程及特点阐述.rarpython简介及基础教程及特点阐述.rarpython简介及基础教程及特点阐述.rarpython简介及基础教程及特点阐述.rarpython简介及基础教程及...

    Python基础01_python简介、安装

    1. **Python简介**:Python的起源、设计理念以及它在不同领域的应用,如Web开发、数据分析、人工智能等。Python的简洁语法使得它适合初学者入门,同时也适用于专业开发。 2. **Python安装**:访问Python官方网站...

Global site tag (gtag.js) - Google Analytics