字符串类型是使用最多最广泛的类型,最简单的创建方式就是通过引号,当然这里单引号双引号是一样的。字符串本身也是序列,所以在上一篇序列中所讲的内容都适用于字符串操作。
一、字符串的创建和赋值:aString = 'Hello Python!' 也可以通过“格式工厂”str()产生,比如 str(range(4)) ----->'[0,1,2,3]',其中range()函数会产生一个序列,它的用法其实上篇内容中我们已经讲过。尤其是切片操作。这里就不再重述了。
二、访问字符串中的元素和子串:可以通过下标索引和截取操作。具体见上篇教程。
三、如何改写字符串:可以在原来字符串的基础上截取、通过“+”增加新的内容或其他操作等;也可以直接赋值新的内容进行覆盖。
举例: aString = aString[1:3] + 'world' 或者 aString = 'Bye World!'
四、如何删除字符串中某个字符(或子串)以及删除字符串
举例:aString = aString[:3] + aString[4:] #删除aString[3]
aString = aString[:3] + aString[5:] #删除子串aString[3:5]
del aString #删除字符串,完全没必要,难道你定义个int i;最后你会显式的删除变量i?
五、基本操作符: == ,< , > , != 这些都很简单,这里大小是按照字典顺序比较的,返回值都是布尔类型值
六、成员操作符: in , not in so easy,不说了
七、切片操作符:[]和[:]等,详见上一篇序列操作。这是个重点内容。
八、连接操作符: + ,讲过了,略过。
九、重复操作符: * ,也讲过了, aString * 10
十、字符串特有的操作符: 格式化操作符: % ,学过C语言的孩子都理解,printf("%s is number %d",str,i); 用法也和C语言很类似,用的最多的也是%d和%s,当然远不止这两个,其余的用的相对较少。print "%s is number %d" % ("python",1)
十一、内建函数:
1、cmp(),用来做比较用的,也是比较的字典顺序,在教材中返回的值是大于1或小于-1的值,可能是版本的原因吧,我用的2.7版本只能返回-1、0、1三个值,cmp(a,b),其实没关系,a的内容小于b的返回负数,相等返回0,a的内容比b的大,返回正数。
2、len(),求长度的。
3、max()、min()
4、enumerate():举个例子,一目了然
>>> s = 'foobar'
>>> for i, t in enumerate(s):
... print i, t
...
0 f
1 o
2 o
3 b
4 a
5 r
5、zip(),我刚看的时候还以为压缩呢,晕,也是,举个例子,不解释,用的不是很广泛
>>> s, t = 'foa', 'obr'
>>> zip(s, t)
[('f', 'o'), ('o', 'b'), ('a', 'r')]
十二、三引号:虽然你可以用单引号或者双引号来定义字符串,但是如果你需要包含诸如换行符这样的特殊字符时,单引号或者双引号就不是那么方便了。Python 的三引号就是为了解决这个问题的,它允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符.
十三、字符串不变性:字符串具有不可变性。可是我们说面说到字符串可以进行截取,连接等操作,实际上我们是重新新建了一个字符串而已,而原来的字符串不再使用释放掉了而已。大家要是不信,我们可以用事实说话。
>> s = 'abc'
>>>
>>> id(s) #id()函数返回一个对象的身份,这个概念有点类似于"内存地址"。
135060856 #我这是在教材中摘抄的,不同地方运行数值不一样,没关系
>>>
>>> s += 'def'
>>> id(s)
135057968 #前后两次数值不一样,就说明对象变了,这里的s 与上面的s 不是同一个对象
或者你
>>> s
'abcdef'
>>>
>>> s[2] = 'C' #如果回车后不出错,那就代表字符串具有可改性,我可以将小写c改写成大写的C
十四、总结
一些引号分隔的字符
你可以把字符串看成是Python 的一种数据类型,在Python 单引号或者双引号之间的字符数组或者是连续的字符集合.在Python 中最常用两个引号是单引号(')和双引号(")。字符串的实际内容是这些单引号(')或者双引号(")之间的字符,不包括引号本身.
可以用两种引号来创建字符串是很有益处的,因为是当你的字符串中包含单引号时,如果用单引号创建字符串,那么字符串中的双引号就不需要转义。反之亦然.
不可分字符类型
字符串是唯一的字面上的字符序列类型.不过,字符本身并不是一种类型,所以,字符串是字符存储操作的最基本单位.字符应该视为长度为1 的字符串.
字符串格式化操作符 ( % )提供类似于printf()那样的功能.
三引号
介绍了三引号,在三引号字符串中可以包含诸如换行回车或者tab 键这样的特殊字符.三引号字符串是用两边各三个单引号(''')或者两边各三个双引号(""")来定义的.
当然,关于字符串的操作远不止这些,我只是节选了几个使用频率较高的说一下,具体详见教材。
下一遍:列表