《Head First Python》的原文摘录
Python 术语
- PyPI就是Python包索引(Python Package Index)
- Python内存中的名字就存放在“命名空间”中
- Python的主命名空间名为 __main__
IDLE说明
- 按F5将模块的代码“加载”到IDEL shell,模块名会专门导入到IDLE的命名空间
BULLET POINTS
- 模块是一个包含Python代码的文本文件
- 发布工具允许将模块转换为可共享的包
- setup.py程序提供了模块的元数据,用来构建、安装和上传打包的发布
- 使用import语句可以将模块导入到其他程序中
- Python中的各个模块提供了自己的命名空间,使用module.function() 形式调用模块的函数时,要用命名空间限定函数
- 使用import语句的 from module import function 形式可以从一个模块将函数专门导入到当前命名空间
- 内置函数(built-in functions, BIF)有自己的命名空间,名为__builtins__,这会自动包含在每一个Python程序中
- 包含end='' 作为print() BIF的一个参数会关闭其默认行为(即在输入中自动包含换行)
- 如果为函数参数提供一个缺省值,这个函数参数就是可选的 (查看原文 )
- 通过利用函数和递归,可以处理代码中存在的复杂性问题
- 递归函数不需要任何改变就可以正确地处理处理任意深度的嵌套列表 (查看原文 )
Python术语
- “异常”(exception)因运行时错误而出现,会产生一个traceback
- traceback是出现运行时错误的一个详细描述
BULLET POINTS
- 使用open() BIF打开一个磁盘文件,创建一个迭代器从文件读取数据,一次读取一个数据行
- readline() 方法从一个打开的文件读取一行数据
- seek() 方法可以用来将文件“退回”到起始位置
- close() 方法可以用来关闭一个之前打开的文件
- split() 方法可以将一个字符串分解为一个子串列表
- 数据不符合期望的格式时会出现ValueError
- 数据无法正常访问时会出现IOError
- try/except语句提供了一个异常处理机制,从而保护可能导致运行时错误的某些代码行
- pass语句就是Python的空语句或null语句 (查看原文 )
Python术语
- ‘腌制’ 将数据对象保存到一个持久存储中的过程
- ‘解除腌制’ 从持久存储中恢复一个已保存的数据对象的过程
BULLET POINTS
- strip() 方法可以从字符串去除不想要的空白符
- print() BIF的file参数控制将数据发送/保存到哪里 # Py2: print >> file_object, var
- finally 组总会执行,而不论try/except语句中出现什么异常 # with open(...) as ...可省略finally
- 向except组传入一个异常对象,并使用as关键字赋至一个标识符 # except IOError as err
- locals() BIF返回当前作用域中的变量合集
- in操作符用于检查成员关系
- with语句会自动处理所有已打开文件的关闭工作,即使出现异常也不例外。with语句也使用as关键字
- sys.stdout是Python中所谓的“标准输出”,可以从标准库的sys模块访问
- 标准库的pickle模块允许你容易而高效地将Python数据对象保存到磁盘以及从磁盘恢复
- pickle.dump() 函数将数据保存到磁盘
- pickle.load() 函数从磁盘恢复数据 (查看原文 )
Python术语
- ‘原地’排序,转换然后替换 #sort()
- ‘复制'排序,转换然后返回 #sorted()
- ’方法串链‘,从左向右读,对数据应用一组方法
- ’函数串链‘,从右向左读,对数据应用一组函数
- ’列表推导‘,在一行上制定一个转换(而不是使用迭代)
- ’分片‘,从一个列表访问多个列表项
- ’集合‘,一组无序的数据项,其中不包含重复项
BULLET POINTS
- sort() 方法可以在原地改变列表的顺序
- sorted() BIF通过提供复制排序可以对几乎任何数据结构排序
- 向sort()或sorted()传入reverse=True可以按降序排列数据
- 如果有如下代码:
<代码开始 lang="python">
new_l = []
for t in old_l:
new_l.append(len(t))
</代码结束>
使用列表推导式重写该代码,可以写成:
<代码开始 lang="python">
new_l = [len(t) for t in old_l]
</代码结束>
- my_list[3:6] 可以访问列表中从引索位置3直到(但不包括)索引位置6的列表项
- 使用set() 工厂方法可以创建一个集合 (查看原文 )
Python术语
-BIF——内置函数。
-“组(Suite)”——Python代码块,会通过缩进来指示分组。
IDLE说明
-使用shell时可以在已输入的代码之间快速切换,Alt-P表示Previous(前一个),Alt-N表示Next(下一个)。
BULLET POINTS
-列表就像数组。
-列表可以存放任意数据,而且数据可以使混合类型。列表还可以嵌套。
-len() BIF会提供某个数据对象的长度,或者统计一个集合中的项数。
-isinstance() BIF会检查一个标示符是否指示某个指定类型的数据对象。
-for循环在迭代处理上通常比一个等价的while循环更方便。
-用if···else···语句做判定。
-用def定义一个定制函数。
在Python中创建一个列表时,解释器会在内存中创建一个类似数组的数据结构来存储数据,数据项自下而上堆放(形成一个堆栈)。类似于其他编程语言中的数组技术,堆栈中的第一个槽编号为0,第二个槽编号为1,第三个编号为2,以此类推。
使用帮助
-在Python或IDLE shell中,键入dir(__builtins__)可以查看Python提供的内置方法列表。
-要查看某个BIF的功能描述,比如input(),可以在shell中键入help(input)。 (查看原文 )
Python术语
-”“”为多行注释,#为单行注释。
-Python内存中的名字就存放在“命名空间”中。
-Python的主命名空间为__main__。
IDLE说明
-无
BULLET POINTS
-模块是一个包含Python代码的文本文档。
-使用发布工具包可将模块转换为可共享的包。
-setup.py程序提供了模块的元数据,用来构建、安装和上传打包的发布。
-使用import语句将模块导入到其他程序中。
-Python中各个模块提供了自己的命名空间,使用module.function()形式调用模块的函数时,要用命名空间限定函数。
-使用import语句的from module import function形式可以从一个模块将函数专门导入到当前命名空间。
-内置函数(built-in- functions, BIF)的命名空间为__builtins__,这会自动包含在每一个Python程序中。
-end=' '作为print() BIF的一个参数会关闭其默认行为(即在输入中自动换行)。
-如果为函数参数提供一个缺省值(默认值),这个函数参数就是可选的。 (查看原文 )