1、Python 手册file:/Users/moon/Incoming/py/ 09-5-21 08:00:58Python中文社区向上: Python 文档索引 向后:前言Python 手册Python 手册Guido van RossumFred L. Drake, Jr., editorPythonLabsEmail: python-docspython.orgRelease 2.3July 29, 2003前言目录1. 开胃菜2. 使用Python解释器2.1 调用解释器2.1.1 传递参数2.1.2 交互模式2.2 解释器及其工作模式2.2.1 错误处理2.2.2 执行 Python
2、脚本2.2.3 源程序编码2.2.4 交互环境的启动文件3.初步认识 Python3.1 像使用计算器一样使用Python3.1.1 数值3.1.2 字符串3.1.3 Unicode 字符串3.1.4 链表3.2 开始编程4. 流程控制4.1 if 语法4.2 for 语法4.3 range() 函数4.4 break 和 continue 语法 以及 else 子句 在循环中的用法4.5 pass 语法4.6 定义函数4.7 定义函数的进一步知识4.7.1 定义参数变量4.7.2 参数关键字Python 手册file:/Users/moon/Incoming/py/ 09-5-21 08:0
3、0:584.7.3 可变参数表4.7.4 Lambda 结构4.7.5 文档字符串5. 数据结构5.1 深入链表5.1.1 将链表作为堆栈来使用5.1.2 将链表作为队列来使用5.1.3 函数化的编程工具5.1.4 链表的内含(Comprehensions)5.2 del 语法5.3 Tuples 和 Sequences5.4 字典(Dictionaries)5.5 循环技巧5.6 深入条件控制5.7 Sequences 和其它类型的比较6. 模块6.1 深入模块6.1.1 模块搜索路径6.1.2 “编译” Python 文件6.2 标准模块6.3 dir() 函数6.4 包6.4.1 从包中
4、导入所有内容(import * )6.4.2 隐式包引用6.4.3 包中的多重路径7. 输入和输出7.1 格式化输出7.2 读写文件7.2.1 文件对象的方法7.2.2 pickle 模块8. 错误和异常8.1 语法 Errors8.2 异常8.3 捕获异常8.4 释放异常8.5 用户自定义异常8.6 定义 Clean-up Actions9. 类9.1 一个术语9.2 Python 的生存期和命名空间9.3 类(Classes)的初步印像9.3.1 类定义语法9.3.2 类对象9.3.3 实例对象9.3.4 方法对象9.4 自由标记(Random Remarks)9.5 继承9.5.1 多继
5、承Python 手册file:/Users/moon/Incoming/py/ 09-5-21 08:00:589.6 私有变量9.7 零杂技巧9.8 异常也是类9.9 迭代子(Iterators)9.10 发生器(Generators )10. 接下来?A. 交互式编辑和历史回溯A.1 行编辑A.2 历史回溯A.3 快捷键绑定A.4 注释B. 浮点计算:问题与极限B.1 表达错误C. 历史和授权C.1 本软件的历史C.2 修改和使用 Python的条件(Terms and conditions for accessing or otherwise usingPython)关于本文档向上: P
6、ython 文档索引 向后:前言Python 手册Release 2.3, documentation updated on July 29, 2003.See About this document. for information on suggesting changes.Python中文社区前言file:/Users/moon/Incoming/py/ 09-5-21 08:01:00Python中文社区Python 指南向前: Python 指南 向上: Python 指南 向下:目录前言Copyright 2001, 2002, 2003 Python Software Found
7、ation. 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 the end of this document for complete license and permissions inform
8、ation.概要:Python 是一种容易学习的强大语言。 它包括了高效的高级数据结构,提供了一个简单但很有有效的方式以便 进行面向对象编程。Python 优雅的语法,动态数据类型,以及它的解释器,使其成为了大多数平台上应用于各 领域理想的脚本语言以及开发环境。Python解释器及其扩展标准库的源码和编译版本可以从Python 的Web 站点 http:/www.python.org/及其所有镜像 站上免费获得,并且可以自由发布。该站点上也提供了Python 的一些第三方模块,程序,工具,以及附加的文 档。Python的解释器很容易通过C 或C+ +(或者其它可以由C 来调用的语言)来实现功能
9、和数据结构的扩展。因 些Python 也很适于做为定制应用的一种扩展语言。这个手册介绍了一些Python 语言及其系统的基本知识与根念。这有助于对Python 有一个基本的认识,当然所有 的例子都包括在里面了,所以这本手册很适合离线阅读。需要有关标准对象和模块的详细介绍的话,请查询 Python 程序库参考手册 文档。 Python 参考手册 提供了更多 的关于语言方面的正式说明。需要编写C 或C+ 扩展,请阅读 Python 解释器的扩展和集成 以及Python/C API 参 考手册。 这几本书涵盖了各个深度上的Python 知识。本手册不会涵盖Pytho n的所有功能,也不会去解释所用到
10、的所有相关的知识。相反,它介绍了许多Python 中最 引人注目的功能,这会对读者掌握这门语言的风格大有帮助。读过它后,你应该可以阅读和编写Python 模块和 程序了,接下来你可以从 Python 库参考手册中进一步学习Python 复杂多变的库和模块了。Python 指南向前: Python 指南 向上: Python 指南 向下:目录前言file:/Users/moon/Incoming/py/ 09-5-21 08:01:00Release 2.3, documentation updated on July 29, 2003.See About this document. for
11、information on suggesting changes.Python中文社区目录file:/Users/moon/Incoming/py/ 09-5-21 08:01:03Python中文社区向前:前言 向上: Python 指南 向后 1. 开胃菜目录Python Tutorial前言1. 开胃菜2. 使用Pytho n解释器2.1 调用解释器2.1.1 传递参数2.1.2 交互模式2.2 解释器及其工作模式2.2.1 错误处理2.2.2 执行 Python 脚本2.2.3 源程序编码2.2.4 交互环境的启动文件3.初步认识 Python3.1 像使用计算器一样使用Python
12、3.1.1 数值3.1.2 字符串3.1.3 Unicode 字符串3.1.4 链表3.2 开始编程4. 流程控制4.1 if 语法4.2 for目录file:/Users/moon/Incoming/py/ 09-5-21 08:01:03语法4.3 range() 函数4.4 break 和 continue 语法以及 else 子句 在循环中的用法4.5 pass 语法4.6 定义函数4.7 定义函数的进一步知识4.7.1 定义参数变量4.7.2 参数关键字4.7.3 可变参数表4.7.4 Lambda 结构4.7.5 文档字符串5. 数据结构5.1 深入链表5.1.1 将链表作为堆栈来
13、使用5.1.2 将链表作为队列来使用5.1.3 函数化的编程工具5.1.4 链表的内含(Comprehension s)5.2 del 语法5.3 Tuples 和 Sequences5.4 字典(Dictionarie s)5.5 循环技巧5.6 深入条件控制5.7 Sequences 和其它类型的比较6. 模块6.1 深入模块6.1.1 模块搜索路径6.1.2 “ 编译” Python 文件file:/Users/moon/Incoming/py/ 09-5-21 08:01:03目录6.2 标准模块6.3 dir() 函数6.4 包6.4.1 从包中导入所有内容(import * )6.
14、4.2 隐式包引用6.4.3 包中的多重路径7. 输入和输出7.1 格式化输出7.2 读写文件7.2.1 文件对象的方法7.2.2 pickle 模块8. 错误和异常8.1 语法 Errors8.2 异常8.3 捕获异常8.4 释放异常8.5 用户自定义异常8.6 定义 Clean-up Actions9. 类9.1 一个术语9.2 Python 的生存期和命名空间9.3 类(Classes)的初步印像9.3.1 类定义语法9.3.2 类对象9.3.3 实例对象9.3.4 方法对象9.4 自由标记(Random Remarks)file:/Users/moon/Incoming/py/ 09-
15、5-21 08:01:03目录9.5 继承9.5.1 多继承9.6 私有变量9.7 零杂技巧9.8 异常也是类9.9 迭代子(Iterators )9.10 发生器(Generators )10. 接下来?A. 交互式编辑和历史回溯A.1 行编辑A.2 历史回溯A.3 快捷键绑定A.4 注释B. 浮点计算:问题与极限B.1 表达错误C. 历史和授权C.1 本软件的历史C.2 修改和使用Pytho n的条件(Terms and conditions for accessing or otherwise using Python)关于本文档向前:前言 向上: Python 指南 向后 1. 开胃菜
16、Python TutorialRelease 2.3, documentation updated on July 29, 2003.See About this document. for information on suggesting changes.Python中文社区1. 开胃菜file:/Users/moon/Incoming/py/ 09-5-21 08:01:06Python中文社区Python 指南向前:目录 向上: Python 指南 向后:2. 使用 Python1. 开胃菜如果你写过大规模的Shell 脚本,应该会有过这样的体会:你还非常想再加一些别的功能进去,但它已
17、经太大、 太慢、太复杂了;或者这个功能需要调用一个系统函数,或者它只适合通过C 来调用 通常这些问题还不足 以严肃到需要用C 重写这个Shell ;可能这个功能需要一些类似变长字符串或其它一些在Shel l脚本中很容易找到 的数据类型(比如文件名的有序列表),但它们用C 来实现就要做大量的工作,或者,你对C 还不是很熟悉。另一种情况:可能你需要使用几个C 库来工作,通常C 的编写/ 编译/ 测试/ 重编译周期太慢。你需要尽快的开发软 件。也许你需要写一个使用扩展语言的程序,但不想设计一个语言,并为此编写调试一个解释器,然后再把它 集成进你的程序。遇到以上情况,Pytho n可能就是你要找的语言
18、。Python 很容易上手,但它是一门真正的编程语言,提供了 比Shell多的多的结构,支持大型程序。另一方面,它提供了比C 更多的错误检查,并且,做为一门高级语言, 它拥有内置的高级数据类型,例如可变数组和字典,如果通过C 来实现的话,这些工作可能让你大干上几天的 时间。因为拥有更多的通用数据类型,Python 适合比Awk 甚至Perl 更广泛的问题领域,在其它的很多领 域,Python至少比别的语言要易用得多。Python可以让你把自己的程序分隔成不同的模块,这样就可以在其它的Python 程序中重用。这样你就可以让自 己的程序基于一个很大的标准模块集或者用它们做为示例来学习Python
19、 编程。Python 中集成了一些类似文 件I/O,系统调用,sockets ,甚至像Tk 这样的用户图形接口。Python是一门解释型语言,因为不需要编译和链接的时间,它可以帮你省下一些开发时间。解释器可以交互式 使用,这样就可以很方便的测试语言中的各种功能,以便于编写发布用的程序,或者进行自下而上的开发。还 可以当它是一个随手可用的计算器。Python可以写出很紧凑和可读性很强的程序。用Python 写的程序通常比同样的C 或C+ 程序要短得多,这是因为 以下几个原因:高级数据结构使你可以在一个单独的语句中表达出很复杂的操作;语句的组织依赖于缩进而不是begin/end 块;不需要变量或参
20、数声明。Python是可执行的:如果你会用C 语言写程序,那就可以很容易的为解释器添加新的集成模块和功能,或者优 化瓶颈,使其达到最大速度,或者使Python 能够链接到所需的二进制架构上(比如某个专用的商业图形库)。 等你真正熟悉这一切了,你就可以把Python 集成进由C 写成的程序,把Python 当做这个程序的扩展或命令行语 言。顺便说一下,这个语言的名字来源于BBC 的“Monty Pythons Flying Circus”节目,和凶猛的爬虫没有任何关 系。在文档中引用Monty Python典故不仅是允许的,而且还受到鼓励!1. 开胃菜file:/Users/moon/Incom
21、ing/py/ 09-5-21 08:01:06现在你已经了解了Pytho n中所有激动人心的东西,大概你想仔细的试试它了。学习一门语言最好的办法就是使用它,你会很乐于这样做。下一节中,我们会很机械的说明解释器的用法。这没有什么神秘的,不过有助于我们练习后面展示的例子。 本指南其它部分通过例子介绍了Python 语言和系统的各种功能,开始是简单表达式、语法和数据类型,接下来是函数和模块,最后是诸如异常和自定义类这样的高级内容。Python 指南向前:目录 向上: Python 指南 向后:2. 使用 PythonRelease 2.3, documentation updated on Jul
22、y 29, 2003.See About this document. for information on suggesting changes.Python中文社区2. 使用Python解释器file:/Users/moon/Incoming/py/ 08:01:08Python中文社区Python 手册向前:1. 开胃菜 向上: Python 手册 Next: 3. 非正式入门指导子目录2.1 调用解释器2.1.1 参数传递2.1.2 交互模式2.2 解释器和它的环境2.2.1 错误处理2.2.2 执行Pytho n脚本2.2.3 源程序编码2.2.4 交互环境的启动文件2. 使用Pyt
23、hon 解释器2.1 调用解释器通常Python 的解释器被安装在目标机器的 /usr/local/bin/python 目录下;把 /usr/local/bin 目录放进你的UNIX Shell 的搜索路径里,确保它可以通过输入python来启动。因为安装路径是可选的,所以也有可能安装在其它位置,你可以与安装Python 的用户或系统管理员联 系。(例如,/usr/local/python 就是一个很常见的选择)输入一个文件结束符(UNIX上是Ctrl+D ,Windwos 上是Ctrl+Z )解释器会以0值退出(就是说,没有什么错 误,正常退出译者)。如果这没有起作用,你可以输入以下命令退
24、出:“ import sys; sys.exit()”。解释器的行编辑功能并不很复杂。装在Unix上的解释器可能会有GNU readline 库支持,这样就可以额外得到精 巧的交互编辑和历史记录功能。可能检查命令行编辑器支持能力最方便的方式是在主提示符下输入Ctrl+P 。如2. 使用Python解释器file:/Users/moon/Incoming/py/ 08:01:08果有嘟嘟声(计算机扬声器),说明你可以使用命令行编辑功能,从附录 A 可以查到快捷键的介绍。如果什么也没有发声,或者P 显示了出来,说明命令行编辑功能不可用,你只有用退格键删掉输入的命令了。解释器的操作有些像Unix S
25、hell :使用终端设备做为标准输入来调用它时,解释器交互的解读和执行命令,通过 文件名参数或以文件做为标准输入设备时,它从文件中解读并执行脚本。启动解释器的第三个方法是“python -c command arg .”,这种方法可以在命令行中直接执行语句,等同 于Shell的 -c选项。因为 Python语句通常会包括空格之类的特殊字符,所以最好把整个语句用双引号包起来。注意“python file”和“python ”);继续的部分被称为从属提示符,由三个点标识(“. ”)。在第一行之前,解释器打 印欢迎信息、版本号和授权提示:pythonPython 2.3 (#1, Jul 30 20
26、03, 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_world_is_flat:. print “Be careful not to fall off!“.Be careful not to fall off!2.2 解释器及其环境2. 使用Python解释器file:/Users/m
27、oon/Incoming/py/ 08:01:082.2.1 错误处理有错误发生时,解释器打印一个错误信息和栈跟踪(监视)器?。交互模式下,它返回主提示符,如果从文件 输入执行,它在打印栈跟踪器后以非零状态退出。(异常可以由try 语句中的except 子句来控制,这样就不会出 现上文中的错误信息) 有一些非常致命的错误会导致非零状态下退出,这由通常由内部矛盾和内存溢出造成。 所有的错误信息都写入标准错误流;命令中执行的普通输出写入标准输出。在主提示符或附属提示符输入中断符(通常是Contro l-C or DEL)就会取消当前输入,回到主命令行。 2.1执行 命令时输入一个中断符会抛出一个
28、KeyboardInterrupt 异常,它可以被 try句截获。2.2.2 执行Pytho n脚本BSD系统中,Python 脚本可以像Shell 脚本那样直接执行,只要在脚本文件开头写一行命令,指定文件和模式:#! /usr/bin/env python(将用户路径通知解释器) “#!”必须是文件的前两个字符,在某些平台上,第一行必须以 Unix风格的行结束符(“n ”)结束,不能用 Mac(“r ”)或Windows(“rn ”)的结束符。注意,“#”是Python中是行注释的起始符。脚本可以通过 chmod 命令指定执行模式和许可权。$ chmod +x myscript.py2.2.
29、3 源程序编码Python的源文件可以通过编码使用 ASCII 以外的字符集。 最好的做法是在 #! 行后面用一个特殊的注释行来定 义字符集。# -*- coding: iso-8859-1 -*-根据这个声明,Pytho n会将文件中的字符尽可能的从指定的编码转为Unicod e,在本例中,这个字符集是 iso-8859-1 。在 Python 库参考手册 中可以找到可用的编码列表(根据我的实验,中文似乎只能用c p-936或utf -8,不直接支持GB ,GB K,GB -18030或ISO -10646译者注)。如果你的文件编辑器支持UTF -8格式,并且可以保存UTF -8标记(aka
30、 BOM - Byte Order Mark),你可以用这 个来代替编码声明(看来至少Jext 还不支持这样做,而 Vim,我还没找到它的编码设置在哪里,还是老老实实 的用注释行指定源代码的编码吧译者注)。IDLE 可以通过设定Options/General/Default Source Encoding/UTF-8 来支持它。需要注意的是旧版Python 不支持这个标记(Python 2.2或更早的版本),也同样不 能使操作系统支持#! 文件。使用UT F-8内码(无论是用标记还是编码声明),我们可以在字符串和注释中使用世界上的大部分语言。标识 符中不能使用非 ASCII 字符集。为了正确显
31、示所有的字符,你一定要在编辑器中将文件保存为 UTF-8格式,而 且要使用支持文件中所有字符的字体。2.2.4 交互式环境的启动文件2. 使用Python解释器file:/Users/moon/Incoming/py/ 08:01:08使用Python 解释器的时候,我们可能需要在每次解释器启动时执行一些命令。你可以在一个文件中包含你想要执行的命令,设定一个名为PYTHONSTARTUP 的环境变量来指定这个文件。这类似于Unix shel l的.profile 文件。这个文件在交互会话期是只读的,当Python 从脚本中解读文件或以终端做为外部命令源时则不会如此(尽管它 们的行为很像是处在交
32、互会话期。)它与解释器执行的命令处在同一个命名空间,所以由它定义或引用的一切 可以在解释器中不受限制的使用。你也可以在这个文件中改变sys.ps1 和sys.ps 2指令。如果你想要在当前目录中执行附加的启动文件,你可以在全局启动文件中加入类似以下的代码:“if os.path.isfile(.pythonrc.py): execfile(.pythonrc.py)”。 如果你想要在某个脚本中使用启动文件,必须要在脚本中 写入这样的语句:import osfilename = os.environ.get(PYTHONSTARTUP)if filename and os.path.isfile
33、(filename):execfile(filename)脚注. 注: 2.1GNU readline包的一个错误可能会造成无法正常工作。Python 手册向前:1. 开胃菜 向上: Python 手册 Next: 3. 非正式入门指导Release 2.3, documentation updated on July 29, 2003.See About this document. for information on suggesting changes.Python中文社区3. 初步认识Pythonfile:/Users/moon/Incoming/py/ 08:01:11Python
34、中文社区Python 手册向前:2. 使用Pytho n解释器 向上: Python 手册 向后: 4. 深入编程子目录3.1 初步认识Python3.1.1 数值3.1.2 字符串3.1.3 Unicode 字符串3.1.4 链表3.2 开始编程3. Python的非正式介绍在后面的例子中,区分输入和输出的方法是看是否有提示符(“ ”和“ ”):想要重复这些例子的话,你 就要在提示符显示后输入所有的一切;没有以提示符开始的行,是解释器输出的信息。需要注意的是示例中的 从属提示符用于多行命令的结束,它表示你需要输入一个空行。本手册中的很多示例都包括注释,甚至有一些在交互提示符中折行。Pytho
35、n 中的注释以符号“#” 起始,一直到 当前行的结尾。注释可能出现在一行的开始,也可能跟在空格或程序代码之后,但不会出现在字符串中,字符 串中的#号只代表#号。示例:# 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. 初步认识Pythonfile:/Users/moon/In
36、coming/py/ 08:01:113.1.1 数值解释器的行为就像是一个计算器。你可以向它输入一个表达式,它会返回结果。表达式的语法简明易 懂:+ , -,*,/ 和大多数语言中的用法一样(比如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
37、= 20 height = 5*9 width * height900同一个值可以同时赋给几个变量: x = y = z = 0 # Zero x, y and z x0 y0 z0Python完全支持浮点数,不同类型的操作数混在一起时,操作符会把整型转化为浮点数。 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
38、+1j*3 (3+3j) (3+1j)*3 (9+3j) (1+2j)/(1+1j) (1.5+0.5j)复数总是由实部和虚部两部分浮点数来表示。可能从 z.real 和 z.imag 得到复数 z的实部和虚部。 a=1.5+0.5j a.real1.5 a.imag0.5用于向浮点数和整型转化的函数(float() , int() 和 long())不能对复数起作用没有什么方法可以将复数 转化为实数。可以使用abs(z) 取得它的模,也可以通过z.real 得到它的实部。3. 初步认识Pythonfile:/Users/moon/Incoming/py/ 08:01:11 a=3.0+4.0
39、j 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 abs(a) # sqrt(a.real*2 + a.imag*2)5.0交互模式下,最近一次表达式输出保存在_变量中。这意味着把Python 当做桌面计算器使用时,它可以更容易 的进行连续计算,例如: tax = 12.5 / 100 price = 100.50 price * tax12.5625 pric
40、e + _113.0625 round(_, 2)113.06这个变量对于用户来说是只读的。不要试图去给它赋值由于Python 的语法效果,你只会创建一个同名的局 部变量覆盖它。3.1.2 字符串除了数值,Pytho n还可以通过几种不同的方法操作字符串。字符串用单引号或双引号标识: spam eggsspam eggs doesnt “doesnt“ “doesnt“ “doesnt“ “Yes,“ he said.“Yes,“ he said. “Yes,“ he said.“Yes,“ he said. “Isnt,“ she said.“Isnt,“ she said.字符串可以通过几
41、种方式分行。可以在行加反斜杠做为继续符,这表示下一行是当前行的逻辑沿续。hello = “This is a rather long string containingnseveral lines of text just as you would do in C.nNote that whitespace at the beginning of the line issignificant.“print hello注意换行用 n 来表示;反斜杠后面的新行标识(newline ,缩写“n” )会转换为换行符,示例会按如下格式打 印:This is a rather long string co
42、ntainingseveral lines of text just as you would do in C.Note that whitespace at the beginning of the line is significant.然而,如果我们创建一个“raw” 行,n序列就不会转为换行,示例源码最后的反斜杠和换行符n都会做为字符 串中的数据处理。如下所示:3. 初步认识Pythonfile:/Users/moon/Incoming/py/ 08:01:11hello = r“This is a rather long string containingnseveral lines
43、 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 C.或者,字符串可以用一对三重引号”或 来标识。三重引号中的字符串在行尾不需要换行标记,所有的格 式都会包括在字符串中。print “Usage: thingy OPTIONS-h Display this usage message-H hostname Hostname to connect to“produces t
44、he following output:Usage: thingy OPTIONS-h Display this usage message-H hostname Hostname to connect to解释器打印出来的字符串与它们输入的形式完全相同:内部的引号,用反斜杠标识的引号和各种怪字符,都精 确的显示出来 。如果字符串中包含单引号,不包含双引号,可以用双引号引用它,反之可以用单引号。(后面 介绍的print 语句,可以可以用来写没有引号和反斜杠的字符串)。字符串可以用+ 号联接(或者说粘合),也可以用*号循环。 word = Help + A wordHelpA 两个字符串值之间的
45、联接是自动的,上例第一行可以写成“word = Help A”这种方式只对字符串值有效,任 何字符串表达式都不适用这种方法。 import string str ing # string.strip(str) + ing # string.strip(str) ing # “, line 1, in ?string.strip(str) ingSyntaxError: invalid syntax字符串可以用下标(索引)查询;就像C 一样,字符串的第一个字符下标是0。这里没有独立的字符类型,字符 仅仅是大小为一的字符串。就像在Icon 中那样,字符串的子串可以通过切片标志来表示:两个由冒号隔开的索 引。 word4A word0:2He word2:4lp切片索引可以使用默认值;省略前一个索引表示0,省略后一个索引表示被切片的字符串的长度。 word:2 # The first two charactersHe3. 初步认识Pythonfile:/Users/moon/Incoming/py/ 08:01:11 word2: # All but the first two characterslpA和C 字符串不同,Pytho n字符串不能改写。按字符串索引赋值会