类型和运算(二):字符串

类型:字符串

字符串可以用来记录文本信息。在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中对象可分为可变性和不可变性,核心类型中,可变性变量有:列表和字典;不可变性变量有数字、字符串和元组。

本文为菜鸟学习笔记,如有错误,请各位大神帮忙指出,感激不尽。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容