一、常用字符串:
1、空字符串:    s1=''
2、双引号:        s2="larry's"
3、三重引号块:    s3="""this is ver good."""
4、Raw字符串:    s4=r'C:\temp\nemo\running'
5、Unicode字符串:    s4=u'spam';str(u'spam'),unicode('spam')通过内置函数str和unicode进行两种编码转换
(1)unicode对象提供了一种编码方法,可以讲unicode字符串转换为一般的使用特定编码的8-bit字符串
(2)针对编码器和解释器来说,内置函数unicode和模块codecs支持注册“编码”
(3)codecs模块的open函数可以处理unicode文本文件,这个文件中的每个字符都以大于一个字节的空间进行存储。
(4)unicodedata模块提供了对unicode字符数据库的存取功能
(5)sys模块包括了对默认unicode编码方案的获取及设置的调用(默认往往是ASCII)
(6)可以混合raw和unicode字符串(列如:ur'a\b\c')

二、字符串操作:
1、字符串转换工具:
>>> int("42"),str(42)   int函数将字符串转换成整数,str函数将数字转换成字符串
(42, '42')
>>> repr(42),`42`
('42', '42')
>>> num=1/3.0   repr和str的区别:repr主要是交互回显;str主要是打印,对用户友好
>>> repr(num)
'0.3333333333333333'
>>> str(num)
'0.333333333333'
>>> str(3.14159),float("1.1444") str函数将浮点数转换成字符串,float函数将字符串转换成浮点数
('3.14159', 1.1444)
2、字符串代码转换:
单个字符通过ord函数转换成与其对应的ASCII码,而chr则执行相反操作
>>> ord('w')  
119
>>> chr(119)
'w'
对于多个字符可以用循环进行转换
3、合并,重复:S1+S2,S1*10
4、索引,分片,求长度:S2[i],S2[i:j],len(S2)
索引:
(1)第一个元素的偏移为0  S2[0]获取第一个元素
(2)负偏移索引意味着从最后或右边反向进行计算  S[-2]获取倒数第二个元素
分片:
左边取做下边界,右边取做上边界
(1)上边界并不包含在内
(2)分片的边界默认为0和序列的长度
(3)S2[1:3] 获取从偏移为1的元素,直到不包含3的元素
(4)S2[1:]  获取从偏移为1的元素直到末尾。
(5)S2[:3]  获取从偏移为0的元素,直到不包含3的元素
(6)S2[:-1]  获取从偏移为0的元素,直到不包含最后一个元素之间的元素
(7)S2[:]    获取从偏移为0到末尾之间的元素,可以实现序列拷贝
扩展分片:分片表达式增加了一个可选的第三个索引,用作步进S[i:j:k];k默认为1,分片每隔k个元素索引一次。
>>> S='Wellcometochina'
>>> S[2:10:2]         
'lcmt'
>>> S[::-1]    负数作为步进;反转顺序获取序列
'anihcotemoclleW'
>>> S[::2]
'Wlcmtcia'
>>> S[::-1]
'anihcotemoclleW'
>>> S[5:2:-1]
'ocl'
5、字符串修改:
>>> S='spam!'
>>> S
'spam!'
>>> S=S[:4] +'larry' +S[-1]
>>> S
'spamlarry!'
6、字符串格式化:“a %s parrot” % type
%s  字符串(或任何对象)
%r  s,单使用repr,而不是str
%c    字符
%d    十进制(整数)
%i    整数
%u    无号(整数)
%o    八进位整数
%x    十六进制整数
%e    浮点指数
%f    浮点十进制
%g    浮点e或f
%%    常量%
基于字典的字符串格式化
>>> reply="""
... Greetings...
... Hello %(name)s!
... Your age squared is %(age)s
... """
>>> values={'name':'larry','age':24}
>>> print reply % values
Greetings...
Hello larry!
Your age squared is 24
7、字符串方法调用:搜索、移除空格、替换、用展位符分隔、内容测试、短信息转换等
S1.find('pa')
S1.rstrip()
S1.replace('pa','xx')
S1.split(',')
S1.isdigit()
S1.lower()
8、迭代、成员关系:for x in S2:print x;'spam' in S2