「Python学习手册」读书笔记

第一章,问答环节

python的优点,面向对象,free,可移植,功能强大(动态类型,自动内存管理等),可混合,simple

python的缺点是相比c/c++,速度还不够快。

python的主要用途:系统编程,用户图形接口,internet脚本,组件集成,数据库编程,快速原型,数值计算,多媒体和人工智能

第二章,python如何运行

PVM(python虚拟机),运行.pyc文件字节码。这里的m.pyc字节码不是机器的二进制码,二是python定义的一种表现形式。因此也是python比c/c++慢的原因。一般的,python的运行速度介于编译语言和解释语言之间。

执行优化工具:psyco实时编译器,shedskin c++转换器,将python变成二进制文件,加快执行速度。

冻结二进制文件:将python字节码,PVM等一起打包成一个单独的文件包。

第三章,如何运行程序

运行一个python程序

编写好一个python文件以后,如果想在其他文件中使用,需要使用import。

但是,import第一次之后再使用就不会运行,因为import是一个开销很大的过程。如果希望再执行,可以reload函数。

模块的属性。例如在spam.py中,使用属性name。

可以使用如上两种方式。

Python的IDE:IDLE,Eclipse,Komodo,pythonWin

第四章,python的对象类型

python的核心数据类型(内置对象)

对象的分类

数字:除了常用的加减乘除以外,可以使用math,random等包。

字符串:字符串和c中的字符串类似,但是对象不能改变,例如给s[0]赋值就不可以。

列表:

字典:是一个映射

元组:不可改变的列表。

文件:文件的读和写

此外,还有集合set,十进制数decimal,布尔值等其他核心类型。

第五章,数字

Python表达式操作符及程序:

Python中的变量和基本表达式。

关于str和repr显示格式。repr是默认交换格式回显,也就是代码直接运行表示,str和print一样,是用户友好格式。例如,输入1/3。

一些其他的内置数学工具:math模块,random模块

集合set

第六章,动态类型简介

python的变量,对象和引用是通过一条语句完成的,不同于静态编译语言java/c/c++,例如:

>>a=3,从python角度:

python中的类型属于对象,而不是变量

python中的变量不使用时会被动态收回,类似于java中的垃圾回收。共享引用:如下图所示。

共享引用和拷贝,两者不同(上面是共享引用,下面是拷贝)

共享引用和相等

第七章,字符串

一,单引等于双引

二,用转义序列代表特殊字节

第三,三重引号编写多行字符串块

第四,索引和分片

第五,强制类型转换

第六,字符串格式化%d,%s

第七,字符串方法调用

第八章,列表与字典

第一,列表的常量和操作

第二,字典的常量和操作

第九章,元组,文件与其他

元组(tuple)是由简单的对象组成,与列表类似,但是不能在原处修改。

常见的元组和运算

注意,元组的不可变性只适用于元组本身顶层而并非内容。

为什么有了列表还要元组?是因为元组的不可变性保证不会被另一个引用修改。

常见的文件运算:

【例】

eval()方法:将元素变成对象,例如把字符串变成列表

pickle模块类似于序列化,将python的对象保存在文件中,不需要使用字符串。

相等性和一致性:

==:表示相等性

is:表示一致性

python的类型层次

第十章,python语句简介

python的语句的特点是不需要括号,不要分号也不需要大括号

第十一章,赋值,表达式和打印

一,赋值语句

一些增强赋值语句

常见的python表达式

打印语句

【例】

第十二章,if测试

通用格式if

python的语法规则

  1. 语句是逐个运行的;
  2. 块和语句的边界会自动被检测
  3. 复合语句=首行+:+缩进语句
  4. 空白行,空格以及注释通常被忽略
  5. 文档字符串会被忽略,但会被保存由工具显示

python中的真值测试

第十三章,while和for循环

while的一般格式

break,continue,pass和else循环

说明,循环else分句是python所特有的。例如查找素数的python代码:

for循环的一般格式:

【例】按块读取文本

迭代器:

循环计数器:range()

用range()还可以用来遍历数列。例如,将L中的每个数字变大1:

zip()函数,把多个序列并排配对:

通常情况下,zip()函数可以用来构造字典。

第十四章,文档

python的文档资源

dir函数:抓取对象内可用所有属性列表的简单方式。

help()函数:输入help(str.replace())

PyDoc:HTML报表

第十五章,函数基础

def语句

另外,上例说明,python中的函数是多态的。

第十六章,作用域和参数

python中作用域的LEGB查找原则:

global语句:

工厂函数:

一个能够记住嵌套作用域的变量值的函数。

python中的参数传递:

  • 不可变参数是通过值进行传递;
  • 可变对象是通过指针进行传递;

参数匹配模型

任意参数的实例:

(1)收集参数

(2)分解参数

第十七章,函数的高级话题

函数设计概念:

  • 耦合:对于输入使用参数,对于输出使用return。只有真正有必要的情况下使用全局变量。不要改变可变类型的参数。避免改变在另一个模块文件中的变量。
  • 内聚:每一个函数都应该有一个单一的统一的目标。
  • 大小:每一个函数应该相对较小。

第十八章,模块

import a.py

模块搜索路径:

  1. 程序的主目录
  2. pythonpath目录
  3. 标准链接哭目录
  4. 任何.pth文件的内容

第十九章,模块代码编写基础

同时,from语句可以达到同样的效果。

模块命名空间:一旦模块加载后,它的作用域就变成了模块对象的属性的命名空间。

重载模块 reload

reload和import,from不同的是:reload是python中的内置函数而不是语句;传给reload的是已经存在的模块对象,而不是变量名。

第二十章,模块包

包导入实例

转载需保留链接来源:软件玩家 » 「Python学习手册」读书笔记

赞 (0)

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

感谢您的支持!

微信扫一扫打赏