下面这段代码利用序列的索引获取子串:
# 利用索引截取子串
print('----------# 利用索引截取子串---------')

word = 'world'
print(word[4])
【代码解释】第4行代码,访问字符串第5个字符的值。输出结果为“d”。
【运行结果】
通过切片可以实现对字符串有规律的截取。切片的语法格式如下所示。
string[start : end : step]
【代码解释】个中string表示须要取子串的源字符串变量。[start:end:step]表示从string的第start个索引位置开始到第end个索引之间截取子串,截取的步长是step。即每次截取字符string[start+step],直到第end个索引。索引从0开始计数。
下面这段代码演示了利用切片截取子串的功能:
# 分外切片截取子串
print('---------# 分外切片截取子串----------')
str1 = 'hello world'
print(str1[0:3])
print(str1[::2])
print(str1[1::2])
str2 = 'ABCDEFG'
print(str2[:3])
print(str2[3:])
print(str2[::2])
print('-----------------------------------')
【代码解释】
第10行代码,截取字符串中第1个字符到第3个字符之间的部分。
第11行代码,[::2]切片省略了开始和结束字符。从字符串的第1个字符开始,以2为步长逐个截取字符。
第12行代码,切片中的数字1表示从字符串的第2个字符开始取字符,数字2表示以2为步长逐个截取字符。
【运行结果】
如果要同时截取多个子串,可以利用函数split()实现。函数split()的声明如下所示。
split([char] [,num])
【代码解释】
参数char表示用于分割的字符,默认的分割字符是空格。
参数num表示分割的次数。如果num即是2,将把源字符串分割为3个子串。默认情形下,将根据字符char在字符串中涌现的个数来分割子串。
函数的返回值是由子串组成的列表。
代码如下:
# 利用split()获取子串
print('-----------# 利用split()获取子串-----')
sentence = \公众Tom said: a,b,c,d.\"大众
print('利用空格获取子串:', sentence.split())
print('利用逗号获取子串:', sentence.split(','))
print('利用逗号获取3个子串:', sentence.split(',', 2))
sentence1 = 'Uzi tell us : he is king and said : A, B, C, D.'
print('利用空格获取子串:', sentence1.split())
print('利用逗号获取子串:', sentence1.split(','))
print('利用空格获取4个子串:', sentence1.split(' ',3))
print('-----------------------------------')
【代码解释】
第22行代码根据空格来获取子串。字符串sentence中有5个空格,将返回由6个子串组成的列表。
第23行代码根据逗号来获取子串。字符串sentence中有3个空格,将返回由4个子串组成的列表。
第24行代码根据逗号来分割字符串,并把字符串sentence分割为3个子串。
【运行结果】
字符串连接后,Python将分配新的空间给连接后的字符串,源字符串保持不变。

# 字符串连接后,Python将分配新的空间给连接后的字符串,源字符串保持不变。
print('字符串连接后,Python将分配新的空间给连接后的字符串,源字符串保持不变。')
str3 = \"大众a\"大众
print(id(str3))
print(id(str3 + \"大众b\"大众))
print('-------------------------------------')

【代码解释】
第2行代码输出str1的内部标识。输出结果为“4337916312”。
第3行代码,进行字符串连接,新的字符串将得到新的标识。输出结果为“4337800168”。
【运行结果】
ALL:
运行结果ALL:
-------------------end--------------------