18号学习笔记02


                                                好好利用工作的时间,将手头的工作做好!然后精中力量在闲余时间好好学习新技术!
用心去做事,踏踏实实度过每一天!
系统地学习完python之后再去做别的事情!先做好一件事情再去做另一件事情的!
第六章  序列
成员是有序排列,并且可以通过下标偏移量来访问到一个或几个成员!
包括字符串,列表,元组
序列:每一个元素可以通过指定一个偏移量的方式得到。而多个元素是可以通过切片操作的方式一次得到,我们的元素是从0开始的!
针对序列类型的操作符以优先级从高到低顺序如下:
成员关系操作符(in,not in)
判断一个元素是否属于一个序列。
seq[ind]         获得下标为ind的元素
seq[ind1:ind2]   获得下标从ind1到ind2间的元素集合
seq * expr       序列重复expr次
seq1+seq2        连接序列seq1 和 seq2
obj in seq       判断obj是否包含在seq中
obj not in seq   判断obj是否不包含在seq中
切片操作符([],[:],[::])
访问某一个数据元素的语法如下:
sequence[index]
sequence是序列的名字,index是想要访问的元素对应的偏移量量!
用len函数可以得到序列的长度。
可以得到多个元素。语法如下:
sequence[starting_index:ending_index]
:请看如下的代码
>>> s='abcde'
>>> i=-1
>>> for i in range(-1,-len(s),-1):
    print s[:i]
   
abcd
abc
ab
a
[19号学习笔记]
list(iter)      把可迭代对象转的为列表
str(obj)        把obj对象转换成字符串
unicode(obj)    把对象转换成unicode字符串
basestring()    抽象工厂函数。其作用仅是为str和unicode函数提供父类。不能实例化
tuple(iter)     把一个可迭代对象转换成一个元组对象
浅拷贝:只拷贝了对对象的索引,而不是重新建立一个对象!
深拷贝:完全的拷贝一个对象(包括递归,)
序列类型函数
enumerate(iter)       接受一个可迭代对象作为参数。返回一个enumerate对象
len(seq)              返回seq的长度
max(iter,key=None) or max(arg0,arg1,...,key=None)  返回iter中的最大 值。
reversed(seq)         接受一个序列作为参数,返回一个以逆序的迭代器。
sorted(iter,func=None,key=None,reverse=False)接受一个可迭代对象作为参数,返回一个有序的列表
6.2 字符串
字符串的创建和赋值
>>> s=str(range(4))
>>> s
'[0, 1, 2, 3]'
将一个列表转换成一个字符串
如何访问字符串的值(字符和子串)
>>> aString = 'Hello World'
>>> aString[0]
'H'
>>> aString[1:5]
'ello'
>>> aString[5:]
' World'
如何改变字符串
>>> aString[5:]+'Python'
' WorldPython'
如何删除字符和字符串
可以清空一个字符串,或可以剔除不需要的部分后的字符串组合成新的字符串。
>>> aString = "Hello World!"
>>> aString = aString[:3]+aString[4:]
>>> aString
'Helo World!'
这样来处理字符串中的单个字符哦!
可以通过赋一个字字符串或使用DEL语句来清空或删除一个字符串:
6.3.1 标准类型操作符
在做比较操作的时候字符串是按照ASCII值的大小来比较的!
6.3.2 序列操作符
切片([] 和 [:])
正向索引时,索引值开始于0,结束于总长度减1.
成员操作符(in,not in)
判断一个字符是否出现 在一个字符串中。出现就为真,
:性能
一般来说,把重复操作作为参数放到循环里面进行是非常低效的!
>>> foo  = "hello"'world!'
>>> foo
'helloworld!'
将普通字符串转化为Unicode字符串
>>> 'Hello'+u''+'World'+u'!'
u'HelloWorld!'
重复操作符(*)
创建一个包含了原有字符串的多个拷贝的新串:
>>> 'ABC'*3
'ABCABCABC'
6.4 只适用于字符串的操作符
格式化操作符(%)
%c      转换成字符
%r      
%s      优先用str()函数进行字符串转换
6.4.2字符串模板:更简单的替代品
substitute()      
safe_substitute()
6.4.3 原始字符串操作符
在原始
6.5 内建 函数
标准类型函数
cmp()也是根据字符串的ASCII码值进行比较的哦!
序列类型函数
len()
返回字符串的字符数
max()与min()
str2='lmn'
>>> max(str2)
'n'
返回ASCII码进行提取出来的哦!
enumerate()
>>> s='foobar'
>>> for i,t in enumerate(s):
    print i,t
   
0 f
1 o
2 o
3 b
4 a
5 r
zip()
>>> s,t='foa','obr'
>>> zip(s,t)
[('f', 'o'), ('o', 'b'), ('a', 'r')]
6.5.3 字符串类型函数
str()  and unicode()
接受一个对象,然后创建该对象的可打印的或unicode的字符串表示。它们和basestring都可以作为参数传给isinstance()判断一个对象的类型
ord()是chr()或unichr()的配对函数,它以一个字符作为参数,返回对应的ASCII数值,
>>> chr(65)
'A'
>>> ord('a')
97
>>> unichr(12345)
u'\u3039'