
上QQ阅读APP看书,第一时间看更新
1.7.3 字符串的运算
“Python中的字符串还可以做‘+’和‘*’的运算。”西西船长神秘地说,“不过,这里既不是加法,也不是乘法。我们来看一看吧!”
>>> '123'+'4' '1234' >>> 'abc'*4 'abcabcabcabc'
“我看出来了。”聪明的洛克威尔马上说,“加号(+)表示字符串的连接,乘号(*)表示字符串的重复。”
“很好!除了字符串的连接和重复,Python还支持字符串的截取。”西西船长告诉大家。先看一个例子:
>>> str1="我爱你中国" >>> str1[0:3] '我爱你' >>> str1[3:5] '中国'
列表的截取采用如下语法格式:
变量名[开始位置索引:结束位置索引]
位置索引以0为开始值,依次往后数。如表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”子串?