编程思想
编程过程中,主要有两种思想贯穿其中,一种是可变对象与不可变对象,一种是sequence和映射这种逻辑关系的保证。
sequence共有三种模式,list,tuple和string;映射有典型的dictionary。
sequence
通用操作:
- 索引
- 分片:加强版的索引
- +:拼接
- *: 复制
- in: 判断成分
- del list[i]: 删除项
- 内置函数:
- max():
- min():
- len():
- sorted():
list-可变对象(python的苦力)
类型函数list()
操作-发挥到极致
静态操作与动态操作均可使用,还有谁!!!
方法
静态方法
- count(value):统计value的个数
- index(value):返回第一个index
动态方法
- append(value):添加value
- extend(list):添加一个list
- insert(index,value):插入
- remove(value):删除第一个value
- reverse():倒置
- sort():排序
- 缺省:降序排列
- 函数对象:按定义函数排列
- key作为关键字参数:提供一个函数对象
- reverse作为关键字参数,接受布尔类型
tuple-不可变对象
tuple()类型函数
操作
仅支持静态操作
方法:
仅支持静态方法,与list相同。
string-不可变对象
str() 与 repr()两个类型方法
在python2中,str for human beings;repr() for machine;
python3 中淡化这一区别。
操作
仅支持静态操作
方法
静态方法
- find()
- value: 返回index
- value,index1: 从index开始
- value,index1,index2:起点终点
- join() && split
"zhang+wang+li".split("+")
"+".join(["zhang","wang","li"])
-
lower() upper() title()
-
replace(原来的,后来的)
-
strip() lstrip() rstrip()
- 缺省:空格
- 可指定字符串,按字符从两端去除
-
translate()+maketrans(): python2 和python3 中不同
- maketrans()1参数:接受一个字典,返回一个字典
- maketrans()2参数:2参替换1参
- maketrans()2参数:2参替换1参,删除3参
maketrans()返回一个替换字典,替换字典作为translate的参数。
table=test.maketrans()
test.translate(table)
format string
格式化字符串是一个整体,%前是format,后面是一个tuple或者字典
tuple
功能部分
w.a:
w: 字符宽度:整个字符串所占位数,占不满时起作用
a: 精度:对于字符串,表示要显示的字符个数;对于小数,显示小数点后几位。这是一个会影响字符串取值的参数。
标志部分
两组互斥标志
- "+“与” "
在数的前方第一字符补充+或者空格,使正负一致 - "-“与"0”
一个是左对齐,一个是前方补0.
映射
dictionary
dict()类型函数
接受两种参数:
- 参数为一个字典,完全复制一个
- 参数为一个二元序列(长度为2的sequence),包括list, tuple, string。
基本操作
- del dict[key1]
- index
- in
- 内置函数
- max
- min
- len
方法
动态
- clear() 清除置空
- fromkeys(list) 创建一个列表,key为list,value为none
- pop(key) 弹出key的value
- popitem() 随机弹出一个
- setdefault(key,default) get上多加一步,不存在返回且赋值
- update(dict) 覆盖或创建
静态
- copy(dict) 复制第一层,但不复制第二层
- get(index) 同index
- 迭代三巨头:default keys()、items()、values()