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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

Python入门经典.docx

1、Python入门经典Python入门原著 Guido van Rossum翻译 李东风第一章 介绍 第二章 解释程序的使用 第三章 基本使用 第四章 流程控制 第五章 Python数据结构 第六章 模块 第七章 输入输出 第八章 错误与例外 第九章 类 第十章 进一步学习 第一章 介绍脚本语言是类似DOS批处理、UNIX shell程序的语言。脚本语言不需要每次编译再执行,并且在执行中可以很容易地访问正在运行的程序,甚至可以动态地修改正在运行的程序,适用于快速地开发以及完成一些简单的任务。在使用脚本语言时常常需要增的新的功能,但有时因为脚本语言本来就已经很慢、很大、很复杂了而不能实现;或者,所

2、需的功能涉及只能用C语言提供的系统调用或其他函数通常所要解决的问题没有重要到必须用C语言重写的程度;或者,解决问题需要诸如可变长度字符串等数据类型(如文件名的有序列表),这样的数据类型在脚本语言中十分容易而C语言则需要很多工作才能实现;或者,编程者不熟悉C语言:这些情况下还是可以使用脚本语言的。在这样的情况下,Python可能正好适合你的需要。Python使用简单,但它是一个真正的程序语言,而且比shell提供了更多结构和对大型程序的支持。另一方面,它比C提供更多的错误检查,它是一个非常高级的语言,内置了各种高级数据结构,如灵活的数组和字典,这些数据结构要用C高效实现的话可能要花费你几天的时间

3、。由于Python具有更一般的数据结构,它比Awk甚至Perl适用的范围都广,而许多东西在Python内至少和在这些语言内一样容易。Python允许你把程序分解为模块,模块可以在其他Python程序中重用。它带有一大批标准模块可以作为你自己的程序的基础或作为学习Python编程的例子。系统还提供了关于文件输入输出、系统调用、插座(sockets)的东西,甚至提供了窗口系统(STDWIN)的通用接口。Python是一个解释性语言,因为不需要编译和连接所以能节省大量的程序开发时间。解释程序可以交互使用,这样可以可以很容易地试验语言的各种特色,写只用一次的程序,或在从底向上程序开发中测试函数。它也是

4、一个方便的计算器。Python允许你写出非常严谨而且可读的程序。用Python写的程序通常都比相应的C程序要短,因为如下几个理由: 高级的数据结构允许你用一个语句表达复杂的操作; 复合语句是靠缩进而不是用表示开始和结束的括号; 不需要变量声明或参量声明。 Python是可扩充的:如果你会用C语言编程就很容易为解释程序增加新的内置函数或模块,这样可以以最快速度执行关键操作,或把Python程序和只能以二进制码提供的库(如不同厂商提供的图形库)连接起来。当你变得确实很在行时你可以把Python解释器与用C写的应用相连接,把它作为该应用的扩展或命令语言。 Python的命名是由BBC的“Monty

5、Pythons Flying Circus”节目而得,与蟒蛇没有什么关系。第二章 解释程序的使用在命令行键入 python或在Windows环境下双击相应的图标可以进入Python的解释程序。如果要运行储存在文件中的Python程序,可以用 python 文件名的形式。 进入解释程序的环境后,解释程序称为处于交互状态。在这种状态下系统用 主提示提示输入下一个命令,这一般是三个大于号(),如果需要续行系统用 次提示提示输入,缺省为三个小数点(.)。在主提示下键入文件尾符号(在UNIX中为Control-D,在DOS或Windows中为Control-Z)可以正常退出解释程序。 Python解释程

6、序的有些版本支持命令行编辑和命令历史,使用用Emacs或vi的键组合。 第三章 基本使用下面我们用例子来介绍Python的基本用法。在例子中,用户输入和系统输出靠有没有提示(和.)来分别。如果要试这些例子的话,需要键入提示后的所有命令,例子中没有提示的行是系统的输出。注意只有次提示的行意味着需要键入一个空行,这用于结束多行命令。3.1 用Python作计算器使用启动解释程序,等待主提示出现。解释程序可以作为计算器使用。键入一个表达式,解释程序就可以输出结果。表达式的写法很直观:+,-,*,/, %, *等算符的作用和其它大多数语言(如Pascal或C)没什么差别,括号可以用来组合。例如: 2+

7、24 # 这是一个注释. 2+24 2+2 # 和代码在同一行的注释4 (50-5*6)/45 # 整数除法得下面的整数. 7/32 7/-3-3和C中一样,等于号用来给变量赋值,赋值的结果不显示: width = 20 height = 5*9 width * height900可以同时给几个变量赋同一个值: x = y = z = 0 # 把 x, y 和 z赋零 x0 y0 z0Python完全支持浮点数,混合类型的运算会把整数先转换成浮点数: 4 * 2.5 / 3.33.0303030303 7.0 / 23.5Python也提供了复数,方法是用j和J作为虚数单位,如1+1j,3.1

8、4e-10j,等等。 3.2. 字符串 Python除处理数字外还可以处理字符串,字符串用单撇号或双撇号包裹: spam eggsspam eggs doesntdoesnt doesntdoesnt Yes, he said.Yes, he said. Yes, he said.Yes, he said. Isnt, she said.Isnt, she said.字符串输出格式与输入的样子相同,都是用撇号包裹,撇号和其它特殊字符用用反斜杠转义。如果字符串中有单撇号而没有双撇号则用双撇号包裹,否则应该用单撇号包裹。后面要介绍的print语句可以不带撇号或转义输出字符串。字符串可以用+号连接起

9、来,用*号重复: word = Help + A wordHelpA 字符串可以象在C中那样用下标索引,字符串的第一个字符下标为0。 Python没有单独的字符数据类型,一个字符就是长度为一的字符串。象在Icon语言中那样,可以用片段(slice)记号来指定子串,片段即用冒号隔开的两个下标。 word4A word0:2He word2:4lp片段有很好的缺省值:第一下标省略时缺省为零,第二下标省略时缺省为字符串的长度。 word:2 # 前两个字符He word2: # 除前两个字符串外的部分lpA注意s:i + si: 等于 s 是片段运算的一个有用的恒等式。 word:2 + word2

10、:HelpA word:3 + word3:HelpA不合理的片段下标可以很好地得到解释:过大的下标被换成字符串长度,上界小于下界时返回空串。 word1:100elpA word10: word2:1下标允许为负数,这时从右向左数。例如: word-1 # 最后一个字符A word-2 # 倒数第二个字符p word-2: # 最后两个字符pA word:-2 # 除最后两个字符外的部分Hel但要注意的是 -0 实际还是 0,所以它不会从右向左数! word-0 # (因为 -0 等于 0)H超出范围的片段下标被截断,但在非片段的情况下不要这样: word-100:HelpA word-10

11、 # 错误Traceback (innermost last): File , line 1IndexError: string index out of range记住片段意义的最好方法是把下标看成是字符 之间的点,第一个字符的左边界号码为0。有n个字符的字符串的最后一个字符的右边界下标为n,例如: +-+-+-+-+-+ | H | e | l | p | A | +-+-+-+-+-+ 0 1 2 3 4 5 -5 -4 -3 -2 -1第一行数字给出字符串中下标0到5的位置,第二行给出相应的负下标。从i到j的片段由在边界i和j之间的字符组成。对于非负下标,如果下标都在界内,则片段的长度

12、为下标的差。例如,word1:3 的长度为 2。内置函数len()返回字符串的长度: s = supercalifragilisticexpialidocious len(s)34多行的长字符串也可以用行尾反斜杠续行,续行的行首空白不被忽略,如 hello = This is a rather long string containingn several lines of text just as you would do in C.n Note that whitespace at the beginning of the line is significant.n print hello

13、结果为 This is a rather long string containing several lines of text just as you would do in C. Note that whitespace at the beginning of the line is significant.对于特别长的字符串(比如包含说明的几段文字),如果用上面的方式每行都用n结尾是很麻烦的,特别是这样无法用象Emacs这样的功能强大的编辑器重新编排。对这种情况,可以使用三重撇号,例如 hello = This string is bounded by triple double qu

14、otes (3 times ). Unescaped newlines in the string are retained, though it is still possiblento use all normal escape sequences. Whitespace at the beginning of a line is significant. If you need to include three opening quotes you have to escape at least one of them, e.g. . This string ends in a newl

15、ine. 三重撇号字符串也可以用三个单撇号,没有任何语义差别。 多行的字符串常量可以直接连接起来,字符串常量之间用空格分隔则在编译时可以自动连接起来,这样可以把一个长字符串连接起来而不需要牺牲缩进对齐或性能,不象用加号连接需要运算,也不象字符串串内的换行其行首空格需要保持。3.3 列表Python中有几种复合数据类型,用来把其它值组合到一起。其中最灵活的是列表,可以写成在方括号之间用逗号隔开的若干值(项)。列表的项不必取同一类型。 a = spam, eggs, 100, 1234 aspam, eggs, 100, 1234象字符串下标那样,列表下标从0开始,列表可以取片段,可以连接,等等:

16、 a0spam a31234 a-2100 a1:-1eggs, 100 a:2 + bacon, 2*2spam, eggs, bacon, 4 3*a:3 + Boe!spam, eggs, 100, spam, eggs, 100, spam, eggs, 100, Boe!与字符串不同的是列表是可变的,可以修改列表的每个元素: aspam, eggs, 100, 1234 a2 = a2 + 23 aspam, eggs, 123, 1234也可以给一个片段重新赋值,这甚至可以改变表的大小: # 替换若干项:. a0:2 = 1, 12 a1, 12, 123, 1234 # 去掉若干

17、项:. a0:2 = a123, 1234 # 插入若干项:. a1:1 = bletch, xyzzy a123, bletch, xyzzy, 1234 a:0 = a # 在开头插入自身 a123, bletch, xyzzy, 1234, 123, bletch, xyzzy, 1234内置函数也使用于列表: len(a)8可以建立嵌套列表(表的元素也是列表),如: q = 2, 3 p = 1, q, 4 len(p)3 p12, 3 p102 p1.append(xtra) # 列表方法 p1, 2, 3, xtra, 4 q2, 3, xtra注意这个例子中p1和q实际是同一个对

18、象!也就是说它们只不过是同一个东西的两个名字(引用)而已。3.4 编程初步Python当然不是只能用来把两个数加到一起,它可以完成很复杂的工作。例如,我们可以写出Fibonacci序列的开始几个: # Fibonacci 序列:. # 两个元素的和定义下一个. a, b = 0, 1 while b 这个例子介绍了几个新特色。 第一行包含一个多重赋值: 变量a和b同时得到新值0和1。在最后一行又用了多重赋值,我们可以看出赋值时先把右边都算出后再进行赋值。while循环当循环条件(这里即: b 10)成立时不断执行。在Python中和C中一样,非零整数值为真值,零为假值。条件也可以是字符串或列表

19、或任何序列,长度为非零的为真,空序列为假。例子中所用的是一个简单比较。标准的比较算符和C一样:, =, = 和 !=。循环体是缩进的:缩进是Python用来组合语句的方式。Python目前还不能提供智能自动缩进,所以你需要自己为每个缩进行键入制表符或空格。实际使用中你可以用文本编辑程序为Python 准备复杂的输入,多数文本编辑程序都有自动缩进的功能。在交互输入复合语句时必修附加一个空行以指示复合语句的完成(因为解释程序无法猜到哪是语句的最后一行)。print语句显示后面的表达式值。这和直接写出表达式不同,它可以显示多个表达式和字符串,而且可以用于程序文件中。显示时字符串没有撇号,各项目之间插

20、入一个空格,所以你可以以精美的格式显示,如: i = 256*256 print The value of i is, iThe value of i is 65536在尾部写一个逗号可以避免最后换行: a, b = 0, 1 while b 注意如果前一行没有结束的话系统在显示提示之前先换行。 Python还提供了和C语言一样的printf格式的输出方式,这是用%实现的,左边是格式,如: print The value of 1/7 is approximately %5.3f. % 0.142857 The value of 1/7 is approximately 0.143. 如果有多

21、个需要输出的项百分号右边的项可以是一个序组,如 print Name: %-10s Age: %3d % (White, 31) Name: White Age: 31第四章 流程控制前面我们已经见到了如何由用while结构控制流程运行。这一章我们介绍更多的控制结构。Python具有和其它语言类似的控制结构但略有差别。4.1 If 语句If 语句可能是最基本的程序分支语句了。例如: if x # 计算字符串长:. a = cat, window, defenestrate for x in a:. print x, len(x). cat 3window 6defenestrate 12尽量不

22、要在循环体内修改用来控制循环的序列(当然,只有可变的序列类型如列表才有可能被修改),这样程序可能会出问题。如果需要这样,比如说要复制某些项,可以用序列的副本来控制循环。片段记号让你很容易生成副本: for x in a: # 生成整个列表的片段副本. if len(x) 6: a.insert(0, x). adefenestrate, cat, window, defenestrate结果是把列表中长度超过6个字符的字符串插入到列表开头。 4.3 range() 函数如果确实需要对一列数字进行循环的话,可以使用内置函数range()。它生成包含数字序列的列表,如: range(10)0, 1

23、, 2, 3, 4, 5, 6, 7, 8, 9注意给出的终点永远不出现在生成的列表中,range(10)生成一个十个数的列表,恰好是长度为10的序列的合法下标的各个值。也可以指定不同的起始点,或者指定不同的间隔(甚至负数): range(5, 10)5, 6, 7, 8, 9 range(0, 10, 3)0, 3, 6, 9 range(-10, -100, -30)-10, -40, -70为了对序列的下标进行循环,如下联合使用range() 和 len(): a = Mary, had, a, little, lamb for i in range(len(a):. print i,

24、ai. 0 Mary1 had2 a3 little4 lamb4.4 break语句,continue语句和循环中的else子句如同C语言一样,break语句跳出其所处的最内层的for 或 while循环,continue语句继续下一循环步。循环语句还可以带一个 else 子句,当循环正常结束时执行其内容,但如果循环是用break 语句跳出的则不执行其内容。下例说明了这种用法,此例求素数: for n in range(2, 10):. for x in range(2, n):. if n % x = 0:. print n, equals, x, *, n/x. break. else:

25、. print n, is a prime number. 2 is a prime number3 is a prime number4 equals 2 * 25 is a prime number6 equals 2 * 37 is a prime number8 equals 2 * 49 equals 3 * 34.5 pass 语句pass语句不执行任何操作,当语法要求一个语句而程序不需要执行操作时就用此语句。例如: while 1:. pass # 等待键盘中断.4.6 函数定义我们可以定义一个函数用来计算某一界限以下的所有Fibonacci序列值: def fib(n): # 写出 n 以下的所有Fibonacci序列值. a, b = 0, 1. while b # 调用刚刚定义的函数:. fib(2000)1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597其中关键字 def 开始一个函数定义,其后应该是函数名,括号内的形参表,以冒号结束。构成函

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

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