类型:字符串
字符串可以用来记录文本信息。在Python中字符串可以认为是序列。
数学上,序列是被排成一列的对象(或事件);这样,每个元素不是在其他元素之前,就是在其他元素之后,元素之间的顺序非常重要。
从严格意义上来说,字符串是单个字符串的字符串的序列,其他类型的序列有:列表和元组。
序列的操作
1.作为序列,字符串支持对元素顺序位置的操作。在Python中,索引第一项为0,第二项为1,依次类推。
<pre>
s = 'Hello world'
len(s)
11
s[0]
'H'
s[1]
'e'
</pre>
2.我们也可以反向索引。
>>> s[-1]
'd'
>>> s[-2]
'l'
>>>
3.除了简单地从位置索引之外,序列也支持分片(slice)的操作。一般形式为X[I:J],表示取出在X中从偏移量I,直到但不包含偏移量为J的内容。在一个分片中,左边界默认为0,右边界默认为分片序列的长度。
>>> s[1:]
'ello world'
>>> s
'Hello world'
>>> s[0:3]
'Hel'
>>> s[:4]
'Hell'
>>> s[:-1]
'Hello worl'
>>> s[:]
'Hello world'
>>>
4.最后,作为一个序列,字符串也支持使用加号(+)进行合并,将两个字符串合并为一个新的字符串,或者重复(*):
>>> s
'Hello world'
>>> s + 'xyz'
'Hello worldxyz'
>>> s
'Hello world'
>>> s * 8
'Hello worldHello worldHello worldHello worldHello worldHello worldHello worldHello world'
>>>
注意:加号(+)对不同的操作对象有不同的意义:对于数字为加法,对字符串为拼接。简单的说,一个操作的意思取决于被操作的对象。
字符串的特性
1.不可变性
python字符串在创建之后不能就地改变。但可以建立一个新字符串并以同样的变量名对其赋值。
>>> s = 'Hello world'
>>> s
'Hello world'
>>> s[0]
'H'
>>> s[0] = 'z'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment
>>> s = 'z' + s[1:]
>>> s
'zello world'
>>>
所以在python中对象可分为可变性和不可变性,核心类型中,可变性变量有:列表和字典;不可变性变量有数字、字符串和元组。
本文为菜鸟学习笔记,如有错误,请各位大神帮忙指出,感激不尽。