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