chapter 6
1.序列
N=序列的长度=len(Sequence)
访问模式:每一个元素可以通过指定一个偏移量的方式得到。多个元素可以通过切片操作的方式以得到。
2.成员关系操作符:in,not in
成员关系操作符用来判断一个元素是否是属于一个序列的。返回值是True/False,满足成员关系返回True,反之则为False。
语法:obj [not] in Sequence
3.序列操作符
seq[ind]:获得下标为ind的元素
seq[ind1:ind2]:获得下标从ind1到ind2间的元素集合
seq*expr:重复序列expr次
seq1+seq2:连接序列seq1和seq2
obj1 in seq:判断obj元素是否包含在seq中
obj not in seq:判断obj元素是否不包含在seq中
连接操作符"+" :Sequence1 + Sequence2
重复操作符"*":Sequence*copy_int
切片操作符:[],[:],[::]
因为python是面向对象的,所以可以直接访问一个序列的元素:
4.内建函数
类型转换:可以理解为转换,但实际上并没有做任何转换,这些实际上是工厂函数将对象作为参数,并将其内容浅拷贝(只拷贝了对象的索引,而不是重新建立了一个对象)到新生成的对象中。
list(iter) :把可迭代对象转换为列表
str(obj):把obj对象转换成字符串
unicode(obj):把对象转换成unicode字符串
basestring():抽象工厂函数,其作用只是为str和unicode函数提供父类,所以不能实例化,也不能被调用
tuple(iter):把一个可迭代对象转换成一个元组对象
序列可用的内建函数:
enumerate(iter) :接受一个可迭代对象作为参数,返回一个enumerate对象,该对象生成由iter每个元素的index值和item值组成的元组
len(seq):返回seq的长度
max(iter,key=None)or max(arg0,arg1....key=None):返回iter里面的最大值,如果指定了key,这个key必须是可以传给sort()方法的,用于比较的回调函数
min(iter,key=None)or min(arg0,arg1....key=None):返回iter里面的最大值,如果指定了key,这个key必须是可以传给sort()方法的,用于比较的回调函数
reversed(seq):接受一个序列作为参数,返回一个以逆序访问的迭代器
sorted(iter,func=None,key=None,reverse=False):接受一个可迭代对象作为参数,返回一个有序的列表,可选参数有func,key,reverse
sum(seq,init=0):返回seq和可选参数init的总和
zip([it0,it1.....itN]):返回一个列表
5.字符串格式化符号
%c 转换成字符(ASCII码值,或者长度为一的字符串)
%r 优先用repr()函数进行字符串转换
%s 优先用str()函数进行字符串转换
%d/%i 转成有符号十进制数
%u 转成无符号十进制数
%o 转成无符号八进制数
%x/%X 转成无符号十六进制数
%e/%E 转成科学计数法
%f/%F 转成浮点数(小数部分自然截断)
%g/%G %e和%f,%E和%F的简写
%% 输出%
6.格式化操作符辅助指令
* 定义宽度或者小数点精度
- 用做左对齐
+ 在正数面前显示加号(+)
<sp> 在正数面前显示空格
# 在八进制苏前面显示零('0'),在十六进制前面显示'x'或'X'
0 显示的数字面前填充'0'而不是默认的空格
% %%输出单一的%
(var) 映射变量
m.n m是显示的最小总宽度,n是小数点后的位数
7.原始字符串的用法详情见:http://blog.csdn.net/winterto1990/article/details/47362279
8.默认集合类型:
所有的多对象的,逗号分隔的,没有明确用符号定义的等等这些集合默认的类型都是元组。
所有函数返回的对象(不包含有符号封装的)都是元组类型
PS:用圆括号包裹的一个单一元素首先被作为分组操作,而不是元组的分界符。一个变通的办法是在第一个元素的后面添加一个逗号,来表明这是一个元组合不上做分组操作。