零基础学Python编程(少儿趣味版)
上QQ阅读APP看书,第一时间看更新

1.7.3 字符串的运算

“Python中的字符串还可以做‘+’和‘*’的运算。”西西船长神秘地说,“不过,这里既不是加法,也不是乘法。我们来看一看吧!”


>>> '123'+'4'
'1234'
>>> 'abc'*4
'abcabcabcabc'

“我看出来了。”聪明的洛克威尔马上说,“加号(+)表示字符串的连接,乘号(*)表示字符串的重复。”

“很好!除了字符串的连接和重复,Python还支持字符串的截取。”西西船长告诉大家。先看一个例子:


>>> str1="我爱你中国"
>>> str1[0:3]
'我爱你'
>>> str1[3:5]
'中国'

列表的截取采用如下语法格式:


变量名[开始位置索引:结束位置索引]

位置索引以0为开始值,依次往后数。如表1-3所示。

表1-3 字符串的索引

Python规定截取字符串时不包含结束位置的字符。所以,str1[0:3]就会得到0、1、2这三个位置的字符“我爱你”,str1[-5:-2]也会截取到“我爱你”:


>>> str1[0:3]
'我爱你'
>>> str1[-5:-2]
'我爱你'

字符串开始和结束的位置都可以省略,例如:


>>> str1[:3]
'我爱你'
>>> str1[3:]
'中国'
>>> str1[-2:]
'中国'
>>> str1[:-2]
'我爱你'

“最后,大家必须要知道的是,”西西船长停顿一会儿说道,“Python中的字符串是不能改变的。”


>>> str1[2]
'你'
>>> str1[2]='您'
Traceback (most recent call last):
    File "<pyshell#44>", line 1, in <module>
        str1[2]='您'
TypeError: 'str' object does not support item assignment

上面的代码试图将字符串“我爱你中国”中的“你”重新赋值为“您”,结果产生了错误。

“字符串可能是STR星球的人民最常用的数据类型。”西西船长说,“不过,下面要说到的第三大类数据类型才是Python中使用最频繁的数据类型。”

【练一练】

如何输出字符串:

乘坐“派森号”,开开心心学Python语言!

该字符串的长度是多少?如何截取其中的“Python”子串?