python语言介绍
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
模块和包
模块是包含了Python 定义和语句的文件: xx.py。 Python 中可以用“包”来组织Python 的模 块名字空间,一个包名通常对应一个文 件夹。里面包含一些模块文件,必需有一 个__init__.py.
错误与例外
分语法错和例外错. 可以用 try… except… 语句捕捉异常, raise… 语句抛出异常,与 c++类似.
==
!=
以下符号用作语法上的常用分隔符: ()[]{} , : . = ; += -= *= /= %=
语法
• if 语句格式 • for语句格式:遍历一个序列 • range()函数:生成包含数字序列的列表 具体示例在 syntax.py 中
常用的数据结构:
• 字符串:输出格式、可以通过下标访问、可以 用+号连接 • 列表:无类型限制,可通过下标访问,可修改 可嵌套,支持对象的方法 • 序表:允许嵌套,不允许对序表的某一项赋值 • 字典:支持对象的方法 具体示例在 data_structure.py 中
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"
Python语言的介绍
• • • • • • Python 中的关键字和语法 常用的数据结构 文件处理 、socket编程 模块和包 错误与例外 基本的调试技巧
Python 中的关键字和语法
• 关键字: and assert break class continue def
del elif else except exec finally
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的局限 的局限
• 虽然Python是一个非常成功的语言,但是也有必要明白它的局限性。 1. 运行效率低下?? 目前为止,Python可以说是所有主流脚本语言中速度最慢的。(是这样么?待考.)这与其脚本 引擎的设计思路有关。 如果你的应用对于速度有着较高的要求,就要考虑Python是否能满足需要。不过这一点可以 通 过使用C编写关键模块,然后由Python调用的方式加以部分解决。 2. 多线程支持欠佳 Python支持多线程,但是其运行效率也不高。 3. 独特的语法 这也许不应该被称为局限,但是它用缩进来区分语句关系的方式还是给很多初学者带来了困 惑。 即便是很有经验的Python程序员,也可能陷入陷阱当中。最常见的情况是tab和空格的混用会 导 致错误,而这是用肉眼无法分别的。 4. 无类型 作为一种动态语言,随时随地创建和使用变量是Python给我们带来的巨大的便利。但是它也 会 使得程序不严谨,某些错误只有在运行中才可能出现。所以,使用Python编程的时候,要对 类 型做到心里有数。这也使得Python的IDE工具无法提供便利的自动完成等功能。
Python的Hello World程序 的 程序
下面是一个在标准输出设备上输出Hello World的简单 程序: #!/usr/bin/env python print "Hello, world!"
Python的历史 的历史
Python的创始人为Guido van Rossum。1989年圣诞节期间,在阿姆 斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解 释程序,做为 ABC 语言的一种继承。之所以选中 Python(大蟒蛇 的意思)作为程序的名字,是因为他是一个Monty Python的飞行马 戏团的爱好者。 ABC是由Guido参加设计的一种教学语言。就Guido本人看来,ABC 这种语言非常优美和强大,是专门为非专业程序员设计的。但是 ABC语言并没有成功,究其原因,Guido 认为是非开放造成的。 Guido 决心在 Python 中避免这一错误(的确如此,Python 与其 它的语言如C、C++和Java结合的非常好)。同时,他还想实现在 ABC 中闪现过但未曾实现的东西。 就这样,Python在Guido手中诞生了。实际上,第一个实现是在Mac 机上。可以说,Python是从ABC发展起来,主要受到了Modula-3 (另一种相当优美且强大的语言,为小型团体所设计的)的影响。 并且结合了Unix shell和C的习惯。
Python的特色 三) 的特色(三 的特色
• 一个和其他大多数语言(如C)的区别就是,一个模块 的界限,完全是由每行的首字符在这一行的位置来决 定的(而C语言是用一对花括号{}来明确的定出模块的 边界的,与字符的位置毫无关系)。这一点曾经引起 过争议。因为自从C这类的语言诞生后,语言的语法含 义与字符的排列方式分离开来,曾经被认为是一种程 序语言的进步。不过不可否认的是,通过强制程序员 们缩进(包括if,for和函数定义等所有需要使用模块 的地方),Python确实使得程序更加清晰和美观。 另外Python在其他部分的设计上也坚持了清晰划一的 风格,这使得Python称为一门易读性、易维护性好, 并且被大量用户所欢迎的、用途广泛的语言。
• • • • • • • • • 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(发音:[ ‘paiθ(ə)n; (US) ’paiθɔn ]),是一种面向对 象的解释性的计算机程序设计语言,也是一种功能强 大而完善的通用型语言,已经具有十多年的发展历史, 成熟且稳定。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的特色 一) 的特色(一 的特色
可扩充性可说是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的一些资源
• • • • • • • http://python.org Python官方邮件列表 PyPi http://planetpython.org sf.net 中国Python用户组 Python的论坛(中国Linuxforum论坛,ChinaUnix 等)
问题时间
• 谢谢!
Python的影响
• • • • • • • Java平台 Jython groovy .net平台 python.net IronPython boo
如何学习Python
• • • • • • • 实践是检验真理的唯一标准 学习开源精神 在工作和学习中主动应用 订阅邮件列表与人交流 参与项目 多看源代码 勤写作、勤积累
for from global if import in
is lambda not or pass print
raise return try while yield
常见运算符和分割符
以下符号是常见运算符: + * / % and or not (条件运算符) << >> (移位) &| ~ (按位与、或、取反) < > < = >=
Python在编程语言中的定位 在编程语言中的定位
虽然 Python 可能被粗略地分类为"脚本语 言(scripting language)", 实际上一些大 规模软件开发计划例如 Zope, Mnet 及 BitTorrent. Google也广泛地使用它。 Python 的支持者较喜欢称它为一种高阶 动态编程语言 , 原因是"脚本语言" 泛指单 用作简单编程任务如 shell scripts ,而 Python不能与JavaScript等只能处理简单 任务的编程语言相提并论。
基本的调试技巧
1.prБайду номын сангаасnt 夹杀法 2.用ide调试
开发注意事项
• 在windows平台下要运行python脚本,需要添 加python解释器所在目录到系统环境变量 PATH中 • 注意正确的缩进。 • 推荐一个IDE工具 wing IDE • 在windows下的打包工具py2exe
Python在中国的发展
文件处理
简单示例: f = open("a.txt", "w") f.write("abcdef") f.close()
socket编程
一个具体的server/client通讯实例见 sock_server.py和sock_client.py
Python中调用c\c++模块
一个典型的Python扩展模块至少应该包 含三个部分:导出函数、方法列表和初 始化函数,核心思想就是加了一层封装。 参考示例<python 调用C函数>