这是学习《python学习手册》的知识点总结。
核心类型的操作和方法。
- 序列操作及方法:
索引
;len()
;切片:slice
,slice加上步长
;重复
;合并
。 - 数字类型中常用的module:
math
,random
. 字符串(str):主要特点是不可变的序列,
- 方法:
.find()
,.replace()
,.split()
,.upper()
,
lower()
,isalpha()
,.rstirp()
,.isdigit()
,.ord()表示ASCII
。 - 使用
""" """
可以创建中间有换行的字符串,其实就是一段字符串; 模式匹配module:re
;- 格式化输出:
%s,%d...
;
- 方法:
列表(list):
- 方法
.append()
;pop()
;.sort()
;.reverse()
;.extend()
; 边界检查
,支持嵌套
,['f','t'][0]这个表达式结果是list(0)
;列表解析(list comprehession expression):其实就是列表里面的复杂表达式
。
- 方法
字典:
3种创建方式:{};dict;
,支持嵌套
。元组:
不支持原处修改
。集合:
set
,主要操作:&,|,-
,可以与数学中的交,并,补类比。文件:
open()
,read()
,readline()
,close()
,- 使用
pickle
可以存储各种类型数据, print
的本质是sys.stdout.write()
,sys.stdout
可重新定向为某个文件。- 可以向错误中输入
'good'
比如:*4print>>sys.stderr,'good'
, - 可以向文件
log.txt
中输入字符u
:print>>log.txt,'u'
- 使用
其他的核心类型:
decimal
:None
:bool
。
内置函数等。
内置函数:sorted()
,type()
八进制:0
,oct()
。
十六进制:0x
,hex()
,
二进制:ord()
,chr()
共享:copy()
,deepcopy()
,打印数字1
的应用次数:sys.getrefcount(1)
。
迭代:for
测试:if
,if的三元表达式
参数;继承;自我测试;
参数传递
- 不想改变原来参数的传递方法:
复制:l[:]
;采用元组:tuple(l)
,在函数体体内复制参数
, - 用
tuple
传递:*arg
;用dict
传递:**arg
, - 关键字传递参数
- 默认参数传递
- 不想改变原来参数的传递方法:
将函数作为参数:
apply()
:传递单个函数.map
:传递函数给list
filter
:过滤器filter((lambda x:x>0),range(-5,5))
reduce
:作用与一对参数,reduce((lambda x,y:x+y),[1,2,3,4])
多重继承:
class B(A),class C(A),class D(B)
。- 经典类:深度优先搜索。搜索顺序D→B→A.
- 新类
a(object)
:广度优先搜索D→B→C或者D→B→C→A.
- 自我测试:
if __name__ == '__main__':
每个module中都有属性__name__
,当module作为顶层文件执行时候,__name__
变成__main__
,当module被导入时候__name__
变成module的名称。
参考书籍:
Mark Lutz. Python 学习手册(第3版). O’Reilly Media.