ImageVerifierCode 换一换
格式:DOCX , 页数:72 ,大小:76.75KB ,
资源ID:5350585      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5350585.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(python指南完全版.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

python指南完全版.docx

1、python指南完全版Python指南前言Copyright 2001, 2002, 2003 Python Software Foundation. All rights reserved.Copyright 2000 BeO. All rights reserved.Copyright 1995-2000 Corporation for National Research Initiatives. All rights reserved.Copyright 1991-1995 Stichting Mathematisch Centrum. All rights reserved.See t

2、he end of this document for complete license and permissions information.概要Python 是一种容易学习的强大语言。它包括了高效的高级数据结构,提供了一个简单但很有有效的方式以便进行面向对象编程。 Python 优雅的语法,动态数据类型,以及它的解释器,使其成为了大多数平台上应用于各领域理想的脚本语言以及开发环境。Python 解释器及其扩展标准库的源码和编译版本可以从 Python 的 Web 站点 http:/www.python.org/ 及其所有镜像站上免费获得,并且可以自由发布。该站点上也提供了 Python的

3、一些第三方模块,程序,工具,以及附加的文档。Python 的解释器很容易通过 C 或 C+ (或者其它可以由 C 来调用的语言)来实现功能和数据结构的扩展。因些, Python 也很适于作为定制应用的一种扩展语言。这个手册介绍了一些 Python 语言及其系统的基本知识与根念。这有助于对 Python 有一个基本的认识,当然所有的例子都包括在里面了,所以这本手册很适合离线阅读。需要有关标准对象和模块的详细介绍的话,请查询 Python 程序库参考手册文档。 Python 参考手册 提供了更多的关于语言方面的正式说明。需要编写 C 或 C+ 扩展,请阅读 Python 解释器的扩展和集成 以及

4、Python/C API 参考手册。这几本书涵盖了各个深度上的 Python 知识。本手册不会涵盖 Python 的所有功能,也不会去解释所用到的所有相关的知识。相反,它介绍了许多 Python 中最引人注目的功能,这会对读者掌握这门语言的风格大有帮助。读过它后,你应该可以阅读和编写 Python 模块和程序了,接下来你可以从 Python 库参考手册中进一步学习 Python 复杂多变的库和模块了。1. 开胃菜如果你写过大规模的 Shell 脚本,应该会有过这样的体会:你还非常想再加一些别的功能进去,但它已经太大、太慢、太复杂了;或者这个功能需要调用一个系统函数,或者它只适合通过 C来调用通

5、常这些问题还不足以严肃到需要用 C 重写这个 Shell ;可能这个功能需要一些类似变长字符串或其它一些在 Shell 脚本中很容易找到的数据类型(比如文件名的有序列表),但它们用 C 来实现就要做大量的工作,或者,你对 C 还不是很熟悉。另一种情况:可能你需要使用几个 C 库来工作,通常 C 的编写 / 编译 / 测试 / 重编译周期太慢。你需要尽快的开发软件。也许你需要写一个使用扩展语言的程序,但不想设计一个语言,并为此编写调试一个解释器,然后再把它集成进你的程序。遇到以上情况, Python 可能就是你要找的语言。 Python 很容易上手,但它是一门真正的编程语言,提供了比 Shell

6、 多的多的结构,支持大型程序。另一方面,它提供了比 C 更多的错误检查,并且,作为一门高级语言,它拥有内置的高级数据类型,例如可变数组和字典,如果通过 C 来实现的话,这些工作可能让你大干上几天的时间。因为拥有更多的通用数据类型,Python 适合比 Awk 甚至 Perl 更广泛的问题领域,在其它的很多领域, Python 至少比别的语言要易用得多。Python 可以让你把自己的程序分隔成不同的模块,这样就可以在其它的 Python 程序中重用。这样你就可以让自己的程序基于一个很大的标准模块集或者用它们作为示例来学习 Python 编程。 Python 中集成了一些类似文件 I/O ,系统调

7、用, sockets ,甚至像 Tk 这样的用户图形接口。Python 是一门解释型语言,因为不需要编译和链接的时间,它可以帮你省下一些开发时间。解释器可以交互式使用,这样就可以很方便的测试语言中的各种功能,以便于编写发布用的程序,或者进行自下而上的开发。还可以当它是一个随手可用的计算器。Python 可以写出很紧凑和可读性很强的程序。用 Python 写的程序通常比同样的 C 或 C+ 程序要短得多,这是因为以下几个原因:l 高级数据结构使你可以在一个单独的语句中表达出很复杂的操作;l 语句的组织依赖于缩进而不是 begin/end 块;l 不需要变量或参数声明。Python 是可执行的:如

8、果你会用 C 语言写程序,那就可以很容易的为解释器添加新的集成模块和功能,或者优化瓶颈,使其达到最大速度,或者使 Python 能够链接到所需的二进制架构上(比如某个专用的商业图形库)。等你真正熟悉这一切了,你就可以把 Python 集成进由 C 写成的程序,把 Python 当作这个程序的扩展或命令行语言。顺便说一下,这个语言的名字来源于 BBC 的“ Monty Pythons Flying Circus ”节目,和凶猛的爬虫没有任何关系。在文档中引用 Monty Python 典故不仅是允许的,而且还受到鼓励!现在你已经了解了 Python 中所有激动人心的东西,大概你想仔细的试试它了。

9、学习一门语言最好的办法就是使用它,你会很乐于这样做。下一节中,我们会很机械的说明解释器的用法。这没有什么神秘的,不过有助于我们练习后面展示的例子。本指南其它部分通过例子介绍了 Python 语言和系统的各种功能,开始是简单表达式、语法和数据类型,接下来是函数和模块,最后是诸如异常和自定义类这样的高级内容。2. 使用 Python 解释器2.1 调用解释器通常 Python 的解释器被安装在目标机器的 /usr/local/bin/python 目录下;把 /usr/local/bin 目录放进你的 UNIX Shell 的搜索路径里,确保它可以通过输入python来启动。因为安装路径是可选的,

10、所以也有可能安装在其它位置,你可以与安装 Python 的用户或系统管理员联系。(例如, /usr/local/python 就是一个很常见的选择)输入一个文件结束符( UNIX 上是 Ctrl+D , Windwos 上是 Ctrl+Z )解释器会以 0 值退出(就是说,没有什么错误,正常退出译者)。如果这没有起作用,你可以输入以下命令退出:import sys; sys.exit()解释器的行编辑功能并不很复杂。装在 Unix 上的解释器可能会有 GNU readline 库支持,这样就可以额外得到精巧的交互编辑和历史记录功能。可能检查命令行编辑器支持能力最方便的方式是在主提示符下输入 C

11、trl+P 。如果有嘟嘟声(计算机扬声器),说明你可以使用命令行编辑功能,从附录 A 可以查到快捷键的介绍。如果什么也没有发声,或者 P 显示了出来,说明命令行编辑功能不可用,你只有用退格键删掉输入的命令了。解释器的操作有些像 Unix Shell :使用终端设备作为标准输入来调用它时,解释器交互的解读和执行命令,通过文件名参数或以文件作为标准输入设备时,它从文件中解读并执行脚本。启动解释器的第三个方法是python -c command arg .这种方法可以在命令行中直接执行语句,等同于 Shell 的 -c 选项。因为 Python 语句通常会包括空格之类的特殊字符,所以最好把整个语句用

12、双引号包起来。注意“ python file ”和“ python ”);继续的部分被称为从属提示符,由三个点标识(“ .”)。在第一行之前,解释器打印欢迎信息、版本号和授权提示:pythonPython 2.3 (#1, Jul 30 2003, 23:22:59)GCC 3.2 20020927 (prerelease) on cygwinType help, copyright, credits or license for more information. 输入多行结构时需要从属提示符了,例如,下面这个 if 语句: the_world_is_flat = 1 if the_worl

13、d_is_flat:. print Be careful not to fall off!.Be careful not to fall off!2.2 解释器及其环境2.2.1 错误处理有错误发生时,解释器打印一个错误信息和栈跟踪(监视)器?。交互模式下,它返回主提示符,如果从文件输入执行,它在打印栈跟踪器后以非零状态退出。(异常可以由 try 语句中的except 子句来控制,这样就不会出现上文中的错误信息)有一些非常致命的错误会导致非零状态下退出,这由通常由内部矛盾和内存溢出造成。所有的错误信息都写入标准错误流;命令中执行的普通输出写入标准输出。在主提示符或附属提示符输入中断符(通常是

14、Control-C or DEL )就会取消当前输入,回到主命令行。 1 执行命令时输入一个中断符会抛出一个 KeyboardInterrupt 异常,它可以被 try 句截获。2.2.2 执行 Python 脚本BSD 系统中, Python 脚本可以像 Shell 脚本那样直接执行,只要在脚本文件开头写一行命令,指定文件和模式:#! /usr/bin/env python( 将用户路径通知解释器 ) “ #! ”必须是文件的前两个字符,在某些平台上,第一行必须以 Unix 风格的行结束符(“ n ”)结束,不能用 Mac (“ r ”)或 Windows (“ rn ”)的结束符。注意,“

15、 # ”是 Python 中是行注释的起始符。脚本可以通过 chmod 命令指定执行模式和许可权。$ chmod +x myscript.py2.2.3 源程序编码Python 的源文件可以通过编码使用 ASCII 以外的字符集。最好的做法是在 #! 行后面用一个特殊的注释行来定义字符集。# -*- coding: iso-8859-1 -*-根据这个声明, Python 会将文件中的字符尽可能的从指定的编码转为 Unicode ,在本例中,这个字符集是 iso-8859-1 。在 Python 库参考手册 中可以找到可用的编码列表(根据我的实验,中文似乎只能用 cp-936 或 utf-8

16、,不直接支持 GB , GBK , GB-18030 或 ISO-10646 译者注)。如果你的文件编辑器支持 UTF-8 格式,并且可以保存 UTF-8 标记( aka BOM - Byte Order Mark ),你可以用这个来代替编码声明(看来至少 Jext 还不支持这样做,而 Vim ,我还没找到它的编码设置在哪里,还是老老实实的用注释行指定源代码的编码吧译者注)。 IDLE 可以通过设定 Options/General/Default Source Encoding/UTF-8 来支持它。需要注意的是旧版 Python 不支持这个标记( Python 2.2 或更早的版本),也同样

17、不能使操作系统支持 #! 文件。使用 UTF-8 内码(无论是用标记还是编码声明),我们可以在字符串和注释中使用世界上的大部分语言。标识符中不能使用非 ASCII 字符集。为了正确显示所有的字符,你一定要在编辑器中将文件保存为 UTF-8 格式,而且要使用支持文件中所有字符的字体。2.2.4 交互式环境的启动文件使用 Python 解释器的时候,我们可能需要在每次解释器启动时执行一些命令。你可以在一个文件中包含你想要执行的命令,设定一个名为 PYTHONSTARTUP 的环境变量来指定这个文件。这类似于 Unix shell 的 .profile 文件。这个文件在交互会话期是只读的,当 Pyt

18、hon 从脚本中解读文件或以终端作为外部命令源时则不会如此(尽管它们的行为很像是处在交互会话期。)它与解释器执行的命令处在同一个命名空间,所以由它定义或引用的一切可以在解释器中不受限制的使用。你也可以在这个文件中改变 sys.ps1 和 sys.ps2 指令。如果你想要在当前目录中执行附加的启动文件,你可以在全局启动文件中加入类似以下的代码:if os.path.isfile(.pythonrc.py): execfile(.pythonrc.py)如果你想要在某个脚本中使用启动文件,必须要在脚本中写入这样的语句:import osfilename = os.environ.get(PYTHO

19、NSTARTUP)if filename and os.path.isfile(filename): execfile(filename)3. Python 的非正式介绍在后面的例子中,区分输入和输出的方法是看是否有提示符(“ ”和“ . ”):想要重复这些例子的话,你就要在提示符显示后输入所有的一切;没有以提示符开始的行,是解释器输出的信息。需要注意的是示例中的从属提示符用于多行命令的结束,它表示你需要输入一个空行。本手册中的很多示例都包括注释,甚至有一些在交互提示符中折行。 Python 中的注释以符号“ # ”起始,一直到当前行的结尾。注释可能出现在一行的开始,也可能跟在空格或程序代码之

20、后,但不会出现在字符串中,字符串中的 # 号只代表 # 号。示例:# this is the first commentSPAM = 1 # and this is the second comment # . and now a third!STRING = # This is not a comment.3.1 初步认识 Python让我们试验一些简单的 Python 命令。启动解释器然后等待主提示符“ ”出现(这用不了太久)。3.1.1 数值解释器的行为就像是一个计算器。你可以向它输入一个表达式,它会返回结果。表达式的语法简明易懂: + , - , * , / 和大多数语言中的用法一样(

21、比如 C 或 Pascal ),括号用于分组。例如: 2+24 # This is a comment. 2+24 2+2 # and a comment on the same line as code4 (50-5*6)/45 # Integer division returns the floor:. 7/32 7/-3-3像 c 一样,等号(“ = ”)用于给变量赋值。被分配的值是只读的。 width = 20 height = 5*9 width * height900同一个值可以同时赋给几个变量: x = y = z = 0 # Zero x, y and z x0 y0 z0Py

22、thon 完全支持浮点数,不同类型的操作数混在一起时,操作符会把整型转化为浮点数。 3 * 3.75 / 1.57.5 7.0 / 23.5复数也同样得到了支持,虚部由一个后缀“ j ”或者“ J ”来表示。带有非零实部的复数记为“ (real+imagj) ”,或者也可以通过“ complex(real, imag) ”函数创建。 1j * 1J(-1+0j) 1j * complex(0,1)(-1+0j) 3+1j*3(3+3j) (3+1j)*3(9+3j) (1+2j)/(1+1j)(1.5+0.5j)复数总是由实部和虚部两部分浮点数来表示。可能从 z.real 和 z.imag 得

23、到复数 z 的实部和虚部。 a=1.5+0.5j a.real1.5 a.imag0.5用于向浮点数和整型转化的函数( float(), int() 和 long() )不能对复数起作用没有什么方法可以将复数转化为实数。可以使用 abs(z) 取得它的模,也可以通过 z.real 得到它的实部。 a=3.0+4.0j float(a)Traceback (most recent call last): File , line 1, in ?TypeError: cant convert complex to float; use e.g. abs(z) a.real3.0 a.imag4.0

24、abs(a) # sqrt(a.real*2 + a.imag*2)5.0 交互模式下,最近一次表达式输出保存在 _ 变量中。这意味着把 Python 当作桌面计算器使用时,它可以更容易的进行连续计算,例如: tax = 12.5 / 100 price = 100.50 price * tax12.5625 price + _113.0625 round( _ , 2)113.06 这个变量对于用户来说是只读的。不要试图去给它赋值由于 Python 的语法效果,你只会创建一个同名的局部变量覆盖它。3.1.2 字符串除了数值, Python 还可以通过几种不同的方法操作字符串。字符串用单引号或

25、双引号标识: spam eggsspam eggs doesntdoesnt doesntdoesnt doesntdoesnt doesntdoesnt doesntdoesnt doesntdoesnt doesntdoesnt Yes, he said.Yes, he said. Yes, he said.Yes, he said. Isnt, she said.Isnt, she said.字符串可以通过几种方式分行。可以在行加反斜杠作为继续符,这表示下一行是当前行的逻辑沿续。hello = This is a rather long string containingnseveral

26、 lines of text just as you would do in C.n Note that whitespace at the beginning of the line is significant.print hello注意换行用 n 来表示;反斜杠后面的新行标识( newline ,缩写“ n ”)会转换为换行符,示例会按如下格式打印:This is a rather long string containingseveral lines of text just as you would do in C. Note that whitespace at the begin

27、ning of the line is significant.然而,如果我们创建一个“ raw ”行, n 序列就不会转为换行,示例源码最后的反斜杠和换行符 n 都会做为字符串中的数据处理。如下所示:hello = rThis is a rather long string containingnseveral lines of text much as you would do in C.print hello会打印为:This is a rather long string containingnseveral lines of text much as you would do in

28、C.或者,字符串可以用一对三重引号 ” 或 来标识。三重引号中的字符串在行尾不需要换行标记,所有的格式都会包括在字符串中。print Usage: thingy OPTIONS -h Display this usage message -H hostname Hostname to connect to得到下面的输出:Usage: thingy OPTIONS -h Display this usage message -H hostname Hostname to connect to解释器打印出来的字符串与它们输入的形式完全相同:内部的引号,用反斜杠标识的引号和各种怪字符,都精确的显示出来。如果字符串中包含单引号,不包含双引号,可以用双引号引用它,反之可以用单引号。(后面介绍的 print 语句,可以用来写没有引号和反斜杠的字符串)。字符串可以用 + 号联接(或者说粘合),也可以用 * 号循环。 word = Help + A wordHelpA 两个字符串值之间的联接是自动的,上例第一行可以写成“ word = Help A ”这种方式只对字符串值有

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1