Python3.2.3官方文档中文版-带书签高清版,这个是带完整目录书签的高清文字版哦,可以复制文字的,非扫描版哦。
2023-11-13 06:04:21 1.1MB python3.2.3 官方文档
1
Python3.2.3官方文档(中文版)高清完整 Python3.2.3官方文档(中文版) 由笔者自己翻译,有不当之处希望在博客上相互交流
2021-12-24 09:05:35 1.22MB Python3.2.3官方文档 Python3.2.3
2.8 编码风格 现在你准备写出更长而复杂的 python 代码了, 也是该告诉你关于 python 的编码风格时候 了。很多语言可以用不同的风格进行编码。有些风格比其他风格编写的代码更有可读性。因 此,让别人能有轻易地读懂你的代码是一直是个好想法,并且养成这种良好的编码风格将更 大地帮助你。 对于 python,PEP 8作为许多项目应该遵守的编码指导书而做的。 它提出了一种可读而悦 目的编码风格。 每位 python 开发者应该读它。这里抽出一个重要的事项与你分享 :  用四个空格代替 tab 键  每行不要超过 79个字符。  用空行分离方法和类,大块代码中的方法。  必要的时候为每行添加注释。  用文档字符串。  在操作符两边用空格  用统一的风格命名自定义的方法和类  如果你的代码打算用在国际环境中,请不要用想象的字符编码。Python 默认的是
2021-11-12 10:42:19 1.32MB Python3.2.3 翻译
1
3.7 深入条件控制 在 while 和 if 语句中用到的条件可以包含任何操作符而不仅仅是比较运算符。 比较运算操作符 in和 not in 主要检查值是否在列表中出现(或不出现)。操作符 is和 is not 用 来比较两个对象是不是真正相同的对象。这仅仅用于可变对象如列表。所有的比较运算法拥 有同样的优先级,但都比数字操作符的优先级低。 比较运算法可以连接使用,例如: a < b == c 用来测试 a是否< b 并且 b == c。 可以用布尔操作符 and和 or 来组合比较操作符。并且比较的结果(或者任何其他逻辑表达 式)可以使用 not 操作符取反。 这些操作符(指 and, or和 not)的优先级低于比较操作符。 在它们之中,not 拥有最高的优先级,or 拥有最低的优先级。 因此 A and not B or C 等同于 (A and (not B))or C , 和其他一样,可以用括号表达想要的组合。 布尔操作符 and和 or 是所谓短路的操作符。他们参数从做左到右依次判定,只要结果确定
2021-11-01 15:52:08 1.32MB Python3.2.3 翻译
1
第二章 更多控制流程语句 除了前面介绍的 while 语句外,python 也使用在其他语言中所熟知的一些流程控制语句。 2.1 if语句 可能最被人周知控制语句就是 if 语句了,例如: >>> x = int(input("Please enter an integer: ")) Please enter an integer: 42 >>> if x < 0: ... x = 0 ... print(’Negative changed to zero’) ... elif x == 0: ... print(’Zero’) ... elif x == 1: ... print(’Single’) ... else: ... print(’More’)
2021-10-20 21:17:40 1.32MB Python3.2.3 翻译
1
8.7 列表工具 许多数据结构需求能通过内置列表类型满足,但是,有时处于不同性能取舍需要从中选择一 种实现。 Array 模块能提供一个像列表的 array 对象,它仅仅能存储同类数据并且更加简洁。接下来 例子展示了一个数字数组。存储是 2 个字节的无标识的二进制数据而不是在 python 对象中 普通列表中的每个 16字节的值。 >>> from array import array >>> a = array(’H’, [4000, 10, 700, 22222]) >>> sum(a) 26932 >>> a[1:3] array(’H’, [10, 700]) Collections模块通过方法 depue()提供了一个类似列表对象,它从左边开始能更加快速添 加和删除,但是在中间查询时很慢。这些对象很适合实现队列和广度优先查询。
2021-09-01 09:34:25 1.32MB Python3.2.3 翻译
1
6.4 一些说明 数据属性可以重写同名的方法属性。这是为了避免在大型系统中产生问题的意外名称冲突。所以用一些减 少冲突的常用方法是很有效果的。常用的方法包括:大写字母方法名称,用唯一的字符串来做为数据属性 的名称(可以是个下划线_)或者用动词命名方法和用名字命名数据属性。 数据属性就像和对象的普通用户一样可以被方法引用。换句话说,类不能用来实现纯净的数据类型。事实 上,在 python中不能强制数据隐藏,一切基于约定。(另一方面,如 C 中写的,python的实现可以做到完 全隐藏实现细节并且在必要是可以控制对象的访问,这可以通过 C语言扩展 Python) 客户应该谨慎使用数据属性,客户可能会混淆通过方法来维护的常量。而践踏他们的数据属性。注意只要 能避免重复,客户可以自己添加数据属性给对象实例,而不影响方法的合法性--再次,命名约定可以避免 很多麻烦。 从方法内部引用数据属性(或者其他方法)是没有便捷方式的。 我发现这可以增加方法的可读性,当浏览 一个方法时,不会轻易混淆局部变量和实例变量。 常常,方法的第一参数称为 self。 这里除了约定在没有其他意思,名称 self 对 python绝对没有特别的含义。 但是,要注意,如果不遵守这种约定,你的代码可能对其他 python程序员来说可读性很差。也可以理解, 类浏览程序可能就是基于这种约定的写成的。 任何作为类属性的函数对象定义了一个该类实例的方法。在类定义中在书面上函数定义是封装的有时是没 有必要的,也可以把一个函数对象赋值给在类中的局部变量。例如: # Function defined outside the class def f1(self, x, y): return min(x, x+y) class C:
2021-08-23 19:38:42 1.32MB Python3.2.3 翻译
1
7.10 性能评测 一些 python使用者对于同一问题的不同解决办法的性能很感兴趣。Python提供了一种评测工具就可以马上 回答这些问题。 例如, 当封装参数的时候可以用元组封装和拆封特性来代替传统的方法。Timeit 模块中可以迅速描述一个 性能优势。 >>> from timeit import Timer >>> Timer(’t=a; a=b; b=t’, ’a=1; b=2’).timeit() 0.57535828626024577 >>> Timer(’a,b = b,a’, ’a=1; b=2’).timeit() 0.54962537085770791 与 timeit 的细粒度相比,profile 和 pstate 模块提供了在大代码块中识别时间临界区的工具。 7.11 质量控制 开发高质量的软件的方法之一就是对每个功能写测试用例。在开发过程中频繁地运行这些用 例。 Doctest 模块提供一个扫描模块和验证嵌套在程序文档字符中的测试。测试编制是简单 的把一个典型的调用及它的结果剪切并粘贴到文档字符串里。这通过为用户提供一个实例改 善了文档,并且它允许 doctext 模块确认代码和文档相符。 Unittest 模块不像 doctest 模块那么容易使用。但是,它允许一个更加复杂的测试来维护 分开文件。
2021-08-23 19:35:22 1.32MB Python3.2.3 翻译
1
7.5 字符串模式匹配 re 模块为高级字符串成处理提供了正则表达式匹配。 对于复杂的匹配和处理,正则表达式能够提供简明优 化的方法: >>> import re >>> re.findall(r’\bf[a-z]*’, ’which foot or hand fell fastest’) [’foot’, ’fell’, ’fastest’] >>> re.sub(r’(\b[a-z]+) \1’, r’\1’, ’cat in the the hat’) ’cat in the hat’ 当仅仅需要一些简单的功能时候,优先使用 string方法,因为它更容易读取和调试。 >>> ’tea for too’.replace(’too’, ’two’) ’tea for two’ 7.6 数学 数学模块为浮点数运算提供了对底层 C 函数库的访问支持。 >>> import math >>> math.cos(math.pi / 4) 0.70710678118654757 >>> math.log(1024, 2) 10.0 Random模块为生成随机选择提供了工具。 >>> import random >>> random.choice([’apple’, ’pear’, ’banana’]) ’apple’ >>> random.sample(range(100), 10) # sampling without replacement
2021-08-23 17:02:05 1.32MB Python3.2.3 翻译
1
第三章 数据结构 这章将详细学习你以前已经知道的知识,同时也会添加一些新知识。 3.1 列表 列表数据类型有很多方法,以下是列表对象的所有方法: list.append(x) 添加单个元素到列表末尾,等同于 a[len(a)] = [x] list.extend(L) 通过添加指定列表中所有的元素来扩展列表,等同于 a[len(a):] = L. list.insert(i, x) 把单个元素插入到制定的元素。第一个参数是在列表中的索引。因此 a.insert(0, x)意思是吧 元素 X 插入到列表最前面,a.insert(len(a), x) 等同于 a.append(x). list.remove(x) 从列表中删除第一个值为 x 的元素,如果没这个元素将会出错。 list.pop([i ]) 删除指定位置的元素,并且返回该元素,如果没有指定的索引,a.pop()就会删除列表中最后 一个元素,括号中的参数是可以选择的。 list.index(x) 返回列表中第一个满足值为 X 元素的索引,如果没有该元素就会出错。 list.count(x) 计算在列表中值为 x的元素出现的次数。 list.sort() 对列表中的元素进行排序。 list.reverse()
2021-08-14 03:24:19 1.32MB Python3.2.3 翻译
1