python语言介绍

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Python语言介绍及编程入门语音平台王明概述Python(发音:[‘paiθ(ə)n;(US)’paiθɔn]),是一种面向对象的解释性的计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史,成熟且稳定。Python具有脚本语言中最丰富和强大的类库,足以支持绝大多数日常应用。这种语言具有非常简捷而清晰的语法特点,适合完成各种高层任务,几乎可以在所有的操作系统中运行。目前,基于这种语言的相关技术正在飞速的发展,用户数量急剧扩大,相关的资源非常多。Python的HelloWorld程序下面是一个在标准输出设备上输出HelloWorld的简单程序:#!/usr/bin/envpythonprintHello,world!Python的历史Python的创始人为GuidovanRossum。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC语言的一种继承。之所以选中Python(大蟒蛇的意思)作为程序的名字,是因为他是一个MontyPython的飞行马戏团的爱好者。ABC是由Guido参加设计的一种教学语言。就Guido本人看来,ABC这种语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,Guido认为是非开放造成的。Guido决心在Python中避免这一错误(的确如此,Python与其它的语言如C、C++和Java结合的非常好)。同时,他还想实现在ABC中闪现过但未曾实现的东西。就这样,Python在Guido手中诞生了。实际上,第一个实现是在Mac机上。可以说,Python是从ABC发展起来,主要受到了Modula-3(另一种相当优美且强大的语言,为小型团体所设计的)的影响。并且结合了Unixshell和C的习惯。Python在编程语言中的定位虽然Python可能被粗略地分类为脚本语言(scriptinglanguage),实际上一些大规模软件开发计划例如Zope,Mnet及BitTorrent.Google也广泛地使用它。Python的支持者较喜欢称它为一种高阶动态编程语言,原因是脚本语言泛指单用作简单编程任务如shellscripts,而Python不能与JavaScript等只能处理简单任务的编程语言相提并论。Python的特色(一)可扩充性可说是Python作为一种编程语言的特色。新的内置模块(module)可以用C或C++写成。而我们也可为现成的模块加上Python的接口。Python可以使用户避免过分的语法的羁绊而将精力主要集中到所要实现的程序任务上。Python也被称为是一门清晰的语言。因为它的作者在设计它的时候,总的指导思想是,对于一个特定的问题,只要有一种最好的方法来解决就好了。这在由TimPeters写的python格言(称为TheZenofPython)里面表述为:Thereshouldbeone--andpreferablyonlyone--obviouswaytodoit.有意思的是,这正好和Perl语言(另一种功能类似的高级动态语言)的中心思想TMTOWTDI(There'sMoreThanOneWayToDoIt)完全相反。这似乎是人们常把Perl和Python互相比较的重要原因。Python的特色(二)Python语言是一种清晰的语言的另一个意思是,它的作者有意的设计限制性很强的语法,使得不好的编程习惯(例如if语句的下一行不向右缩进)都不能通过编译。这样有意的强制程序员养成良好的编程习惯。其中很重要的一项就是Python的缩进规则。例如if语句:ifage21:printYoucannotbuywine!\nprintButyoucanbuychewinggum.\nprintthisisoutsideif\nPython的特色(三)•一个和其他大多数语言(如C)的区别就是,一个模块的界限,完全是由每行的首字符在这一行的位置来决定的(而C语言是用一对花括号{}来明确的定出模块的边界的,与字符的位置毫无关系)。这一点曾经引起过争议。因为自从C这类的语言诞生后,语言的语法含义与字符的排列方式分离开来,曾经被认为是一种程序语言的进步。不过不可否认的是,通过强制程序员们缩进(包括if,for和函数定义等所有需要使用模块的地方),Python确实使得程序更加清晰和美观。另外Python在其他部分的设计上也坚持了清晰划一的风格,这使得Python称为一门易读性、易维护性好,并且被大量用户所欢迎的、用途广泛的语言。Python的局限•虽然Python是一个非常成功的语言,但是也有必要明白它的局限性。1.运行效率低下??目前为止,Python可以说是所有主流脚本语言中速度最慢的。(是这样么?待考.)这与其脚本引擎的设计思路有关。如果你的应用对于速度有着较高的要求,就要考虑Python是否能满足需要。不过这一点可以通过使用C编写关键模块,然后由Python调用的方式加以部分解决。2.多线程支持欠佳Python支持多线程,但是其运行效率也不高。3.独特的语法这也许不应该被称为局限,但是它用缩进来区分语句关系的方式还是给很多初学者带来了困惑。即便是很有经验的Python程序员,也可能陷入陷阱当中。最常见的情况是tab和空格的混用会导致错误,而这是用肉眼无法分别的。4.无类型作为一种动态语言,随时随地创建和使用变量是Python给我们带来的巨大的便利。但是它也会使得程序不严谨,某些错误只有在运行中才可能出现。所以,使用Python编程的时候,要对类型做到心里有数。这也使得Python的IDE工具无法提供便利的自动完成等功能。Python的前景•Python在编程领域的占有率一直处于稳步上升之中,根据最新的数据,Python排名第七。前六名分别是Java,C,VB,C++,PHP和Perl.作为一个很年轻的语言,Python的位置已经相当令人振奋了。随着微软将Python纳入.Net平台,相信Python的将来会更加强劲发展。Python很可能会成为.Net平台快速开发的主流语言。欲了解这方面情况,请参考IronPython的相关信息.著名的搜索引擎Google也大量使用Python。更加令人吃惊的是,在Nokia智能手机所采用的Symbian操作系统上,Python成为继C++,Java之后的第三个编程语言!可见Python的影响力之巨大。Python的应用•网络开发:socket编程,twisted,jabber,python-qq•Web开发:mod_python,zope/plone,django,karrigell•图形开发:PIL,plot,2d,3d•GUI开发:tcl/tk,wxPython,pygtk,pyqt,ctypes,pyswt•文档处理:epydoc,reStruecturedText,reportlab,moinmoin•科学计算:numarray,numeric•移动开发、嵌入开发、游戏开发、数据库开发Python的影响•Java平台•Jython•groovy•.net平台•python.net•IronPython•boo如何学习Python•实践是检验真理的唯一标准•学习开源精神•在工作和学习中主动应用•订阅邮件列表与人交流•参与项目•多看源代码•勤写作、勤积累Python语言的介绍•Python中的关键字和语法•常用的数据结构•文件处理、socket编程•模块和包•错误与例外•基本的调试技巧Python中的关键字和语法•关键字:anddelforisraiseasserteliffromlambdareturnbreakelseglobalnottryclassexceptiforwhilecontinueexecimportpassyielddeffinallyinprint常见运算符和分割符以下符号是常见运算符:+-*/%andornot(条件运算符)(移位)&|~(按位与、或、取反)====!=以下符号用作语法上的常用分隔符:()[]{},:.=;+=-=*=/=%=语法•if语句格式•for语句格式:遍历一个序列•range()函数:生成包含数字序列的列表具体示例在syntax.py中常用的数据结构:•字符串:输出格式、可以通过下标访问、可以用+号连接•列表:无类型限制,可通过下标访问,可修改可嵌套,支持对象的方法•序表:允许嵌套,不允许对序表的某一项赋值•字典:支持对象的方法具体示例在data_structure.py中模块和包模块是包含了Python定义和语句的文件:xx.py。Python中可以用“包”来组织Python的模块名字空间,一个包名通常对应一个文件夹。里面包含一些模块文件,必需有一个__init__.py.错误与例外分语法错和例外错.可以用try…except…语句捕捉异常,raise…语句抛出异常,与c++类似.文件处理简单示例:f=open(a.txt,w)f.write(abcdef)f.close()socket编程一个具体的server/client通讯实例见sock_server.py和sock_client.pyPython中调用c\c++模块一个典型的Python扩展模块至少应该包含三个部分:导出函数、方法列表和初始化函数,核心思想就是加了一层封装。参考示例python调用C函数基本的调试技巧1.print夹杀法2.用ide调试开发注意事项•在windows平台下要运行python脚本,需要添加python解释器所在目录到系统环境变量PATH中•注意正确的缩进。•推荐一个IDE工具wingIDE•在windows下的打包工具py2exePython在中国的发展•2000年Python已经进入中国•中国Linuxforum论坛Python版成立(2001.4)•中蟒(2002.4)•Czug.org(2003.2)•python.cn(2004.1)•啄木鸟社区(2004.8)•其它:奥索(oso),freelamp,dohao,csdn,chinaunix•CPUG成立(2005.7.30)•啄木鸟社区的发展回顾Python的一些资源••Python官方邮件列表•PyPi••sf.net•中国Python用户组•Python的论坛(中国Linuxforum论坛,ChinaUnix等)问题时间•谢谢!

1 / 28
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功