python中的字符串是不可变的,这意味着一旦定义它们就无法更改。
示例1: #program显示字符串是不可变的
string ="include" string[5]="i"
输出结果
Traceback (most recent call last): File "<pyshell#1>", line 1, in <module> string[5]="i" TypeError: 'str' object does not support item assignment
这证明了用于徽章的python可以更改预定义的字符串,但是我们可以做一件事,即可以重新分配其值。
示例2: #program显示可以附加/重新分配字符串
string="include" print (string) string+="help" print (string)
输出结果
include nhooo
因此,我们通过重新分配其值来附加字符串。
python中的字符串很可能与其他语言中的字符串相同,并且也可以通过相同的方式进行访问。我们可以使用单引号或双引号以两种方式定义字符串。
示例3:#程序定义字符串
string1="nhooo" print (string1) string2='nhooo' print(string2)
输出结果
nhooo nhooo
查看两个字符串的输出是否相等,因为python解释器将它们视为相同。
python中字符串的索引从零开始到length-1,即,如果我们要访问字符串的第一个元素,我们将使用string [0]。也可以从反面进行索引,即访问最后一个元素,我们也可以将string [-1]和string [-2]用于倒数第二个元素。
示例4:#程序访问字符串
string="include help" print(string[5]) print("include help"[5]) print(string[-1]) print(string[12])
输出结果
d d p Traceback (most recent call last): File "<pyshell#8>>, line 1, in <module> print(string[12]) IndexError: string index out of range
也可以像在上述程序的第3行中那样访问字符串,但是您应该避免使用这样的字符串,因为每次要访问字符串的任何元素时都必须编写整个字符串,这样做会更加困难,在第4行中发生错误,因为python检查索引超出条件。
我们也可以使用三引号作为字符串,但是如果在'def fun()'(任何函数)之后或在任何模块的开头使用裸露的字符,它将被视为包含其对象文档的'doc string'。
字符串切片意味着从给定的字符串访问子字符串,这可以通过使用简单的语法来完成。
string_name[beg:end:step]
在这里,
beg:是开始索引
end:是结束索引但end不包含在内
step:每个单词之间的距离(步骤是可选的)
如果给定步骤-1,则表示返回反向字符串。
示例5: #program实现字符串切片
string="nhooo is a portal to learn concepts" print(string[3:7]) print(string[:7]) print(string[15:]) print(string[0::3]) print(string[7:3:-1]) print(string[::-1])
输出结果
lude include a portal to learn concepts ileliaoatlrcct hedu stpecnoc nrael ot latrop a si plehedulcni