Python 语言详细介绍


Python程序设计 Programming in Python 主讲:庞胜利 2 目录 章节 主要内容 学时分配 讲课 上机 合计 第一章 Python语言介绍及开发环境 1 1 第二章 Python语言数据类型、运算符和表达式 2 2 4 第三章 控制流 1 2 3 第四章 函数 1 2 3 第五章 模块 1 1 第六章 常用数据结构 2 2 4 第七章 面向对象编程 1 1 2 第八章 输入输出 1 1 2 第九章 异常处理 1 1 第十章 Python标准库使用 2 2 4 第十一章 Python应用 3 4 7 合计 16 16 32 3 第一章 Python语言介绍及开发环境 • 什么是Python • Python的特色 • Python可以做什么 • Python安装 • Python开发环境 • 如何运行Python程序 4 什么是Python • Python语言是少有的一种可以称得上既简 单又功能强大的编程语言。 • 你将惊喜地发现Python语言是多么地简单, 它注重的是如何解决问题而不是编程语言 的语法和结构 5 什么是Python • Python是一种简单易学,功能强大的编程 语言,它有高效率的高层数据结构,简单 而有效地实现面向对象编程。 • Python简洁的语法和对动态输入的支持, 再加上解释性语言的本质,使得它在大多 数平台上的许多领域都是一个理想的脚本 语言,特别适用于快速的应用程序开发。 6 Python的特色 • 简单 – Python是一种代表简单主义思想的语言。阅读 一个良好的Python程序就感觉像是在读英语一 样,尽管这个英语的要求非常严格!Python的 这种伪代码本质是它最大的优点之一。它使你 能够专注于解决问题而不是去搞明白语言本身。 • 易学 – Python极其容易上手 – Python有极其简单的语法 7 Python的特色 • 免费、开源 – Python是FLOSS(自由/开放源码软件)之一。 简单地说,可以自由地发布这个软件的拷贝、 阅读它的源代码、对它做改动、把它的一部分 用于新的自由软件中。 – FLOSS是基于一个团体分享知识的概念。这是 为什么Python如此优秀的原因之一——它是由 一群希望看到一个更加优秀的Python的人创造 并经常改进着的。 Free/Libre and Open Source Software 8 Python的特色 • 高层语言 – 当你用Python语言编写程序的时候,你无需考 虑诸如如何管理程序使用的内存一类的底层细 节 9 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! 10 Python的特色 • 解释性 – 一个用编译性语言比如C或C++写的程序可以从源文件(即C或 C++语言)转换到一个计算机使用的语言(二进制代码,即0和 1)。这个过程通过编译器和不同的标记、选项完成。当运行程序 的时候,连接/转载器软件把程序从硬盘复制到内存中并且运行。 – 而Python语言写的程序不需要编译成二进制代码。你可以直接从 源代码 运行 程序。在计算机内部,Python解释器把源代码转换 成称为字节码的中间形式,然后再把它翻译成计算机使用的机器 语言并运行。事实上,由于不再需要担心如何编译程序,如何确 保连接转载正确的库等等,所有这一切使得使用Python更加简单。 由于只需要把你的Python程序拷贝到另外一台计算机上,它就可 以工作了,这也使得你的Python程序更加易于移植。 11 Python的特色 • 面向对象 – Python即支持面向过程的编程也支持面向对象 的编程。在 面向过程 的语言中,程序是由过程 或仅仅是可重用代码的函数构建起来的。在 面 向对象 的语言中,程序是由数据和功能组合而 成的对象构建起来的。与其他主要的语言如 C++和Java相比,Python以一种非常强大又 简单的方式实现面向对象 编程。 12 Python的特色 • 可扩展性 – 如果你需要你的一段关键代码运行得更快或者 希望某些算法不公开,你可以把你的部分程序 用C或C++编写,然后在你的Python程序中使 用它们。 13 Python的特色 • 可嵌入性 – 你可以把Python嵌入你的C/C++程序,从而向 你的程序用户提供脚本功能。 14 Python的特色 • 丰富的库 – Python标准库确实很庞大。它可以帮助你处理各种工 作,包括正则表达式、文档生成、单元测试、线程、 数据库、网页浏览器、CGI、FTP、电子邮件、XML、 XML-RPC、HTML、WAV文件、密码系统、GUI(图 形用户界面)、Tk和其他与系统有关的操作。 – 只要安装了 Python,所有这些功能都是可用的。这被 称作Python的“功能齐全”理念。 – 除了标准库以外,还有许多其他高质量的库,如 wxPython、Twisted和Python图像库等等。 Python确实是一种十分精彩又强大的语言。 它合理地结合了高性能与使得编写程序简单有趣的特色。 Python可以做什么 • 系统编程 – Python对操作系统服务的内置接口,使其成为 编写可移植的维护操作系统的管理工具和部件 的理想工具。Python程序可以搜索文件和目录 树,可以运行其他程序,用进程或线程进行并 行处理等。 – Python的标准库绑定了POSIX以及其他常规操 作系统工具:环境变量、文件、套接字、管道、 进程、多线程、正则表达式、命令行参数、标 准流接口、Shell命令启动器、文件名扩展等。 15 Python可以做什么 • 用户图形接口 – Python的简洁以及快速的开发周期十分适合开 发GUI程序 – 内置了Tk GUIAPI,可以生成可移植的本地观 感的GUI,可以不做任何改变就可以运行在 Windows、Xwindows、MacOS等平台 – wxPython GUI API – PythonCard、Dabo等构建在wxPython 和 Tkinter基础上的高级工具包 – 通过适当的库,可以使用其他GUI工具包 16 Python可以做什么 • Internet通信 – Python提供了标准Internet模块,可以广泛应 用到各种网络任务中,无论服务端还是在客户 端 – 套接字 – XML-RPC、SOAP、Telnet等通信 – Twisted – 网站编程第三方工具:HTMLGen、 mod_python、Django、TurboGears、Zop, 使Python能够快速构建功能完善和高质量的网 站 17 Python可以做什么 • 组件集成 – Python可以通过c/c++进行扩展,并能够嵌套 c/c++系统的特性,使其能够作为一种灵活的 粘合语言,脚本化处理其他系统和组件的行为 – 调用其他现有组件,如COM、基于Java实现 的Jython、基于.NET实现的IronPython、各 种Corba工具包等 18 Python可以做什么 • 数据库编程 – 支持所有主流数据库:Oracle、Sybase、 MySQL、PostgreSQL、Informix、SQLite – 定义了标准的、可移植的数据库API – Pickle – 面向对象数据库系统:ZODB – 从关系数据库映射到Python类(ORM): SQLAlchemy 、SQLObject 19 Python可以做什么 • 快速原型 – 对Python程序来说,Python和C编写的模块看 起来是一样的,因此,可以在一开始利用 Python做系统原型、之后再将组件移植到 C/C++ – 移植时Python代码不需要重写,系统中不需要 变成C/C++的部分可以保持不变,从而使维护 和使用变得轻松起来 20 Python可以做什么 • 数值计算和科学计算 – NumPy 21 Python可以做什么 • 游戏、图像、人工智能、机器人等 – Pygame/Bigworld – PIL – PyRO(机器人控制) – 神经网络仿真器 – NLTK(自然语言分析) 22 23 Python和其他语言的比较 • 比TCL强大,支持“大规模编程”,适宜 于开发大型系统 • 比Perl语法简洁,更具可读性、更易于维 护,有助于减少Bug • 比Java更简单、更易于使用 • 比C++更简单、更易于使用,不与之竞争 • 比VB更强大也更具备跨平台特性 • 比Ruby更成熟、语法更具可读性 24 Python安装 • 在Linux和BSD下安装 – Linux、BSD基本上都内置安装了Python – 可以在命令行(Shell)下直接运行python – 二进制安装 – 源代码编译安装 25 Python安装 • 在Windows下安装 – http://www.python.org/download/ – Activestate • http://www.activestate.com/activepython/dow nloads – 安装成功后,开始->运行->cmd->Python应该 可以看到下面的画面: Python开发环境 • 开发Python可以使用最简单的文本编辑器 • 如果安装了ActivePython,它自带一个集 成开发工具:IDLE Python开发环境 • 也可以使用其他工具,推荐使用pyscipter • http://code.google.com/p/pyscripter/推荐 如何运行程序 • 交互模式下编写代码 – Python的核心是解释器,即用来解释你编写的 程序代码,然后转换为机器能理解的二进制代 码的工具,解释器是代码与机器的计算机硬件 直接的软件逻辑层 – Python安装成功后,它包含了解释器和支持的 库(演示解释器和库) – 启动解释器,然后直接在解释器终端中键入命 令,按回车执行 如何运行程序 • 在交互模式下,想输入多少Python命令, 就输入多少;每个命令在输入回车后都立 即运行。 • 只要不重新开启新的解释器,我们都在同 一个会话中运行,因此,前面定义的变量 ,后面的语句都可以使用。 • 一旦关闭解释器,会话中的所有变量和敲 入的语句将不复存在 如何运行程序-源文件 • 为了能够永久保存程序,并且能够被重复执行, 我们必须要将代码保存在文件中,因此,就需要 用编辑器来进行代码的编写,和其他编程语言一 样,不同的Python的源代码可以直接执行而不需 要像编译型语言一样编译成二进制代码。 • Python源代码文件就是普通的文本文件,只要是 能编辑文本文件的编辑器都可以用来编写Python 程序,如notepad/word等。 如何运行程序-源文件 • 一个好的编辑器会帮助你方便地编写Python程序,使你地编程旅程更加舒适 ,帮助你更加快捷安全地到达目的地(实现目标)。 • 对于编辑器的基本要求之一是语法加亮功能,利用这一功能,你的Python程 序的不同部分被标以不同的颜色,这样你可以更好 看清楚 你的程序,使它的 运行显得形象化。 • 建议使用Pyscipter或IDLE。都具备语法加亮功能,还有许多其他的功能, 比如允许你在pyscripter或IDLE中运行、调试你的程序。特别值得注意的是 :不要使用Notepad——它是一个糟糕的选择,因为它没有语法加亮功能, 而且更加重要的是,它不支持文本缩进。而我们将会看到文本缩进对于我们 来说极其重要。一个好的编辑器,比如IDLE(还有VIM)将会自动帮助你做 这些事情。 • 如果你使用Linux/FreeBSD,那么你有很多种选择。如果你是一位有经验的 程序员,一定已经在使用VIM或者Emacs了。勿庸置疑,它们是两个功能最 强大的编辑器。使用它们编写Python程序,你将从中受益。如果你是一个初 学编程的人,那么可以使用Kate。只要你愿意花时间学习使用VIM或Emacs ,那么我强烈建议你一定要学习两者之一,因为从长远看来它们对你是极其 有帮助的。 如何运行程序-源文件 • 一旦建立、编写了符合Python语法要求的 文本文件,就可以让Python解释器多次运 行文件中的语句,并且可以以多种形式运 行:通过系统命令行、通过点击图标、通 过在IDE中运行等。 • 无论如何运行,每次运行时,都会从头到 尾执行模块文件中每一条代码。 如何运行程序-源文件 • 将上面的两个语句保存到文件spam.py中 ,并执行。 • 后缀名一般为.py,为了能够在点击时自动 打开 • python spam.py 如何运行程序-源文件 • 当程序比较大的时候,可以将程序划分成 多个模块编写,每个模块用一个文件保存 • 模块之间可以通过导入互相调用(import ) • 模块也可以导入库中的其他模块 * Python是以模块进行重用的,模块中可以 包括类、函数、变量等 PYTHON • 欢迎转载! • 转载请注明出处,谢谢!! 35
还剩34页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 8 金币 [ 分享pdf获得金币 ] 0 人已下载

下载pdf

pdf贡献者

aiilive

贡献于2012-12-08

下载需要 8 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf