Python数据分析基础与应用电子活页2-4Python字符串的基本操作.docx
Python数据分析基础与应用
模块
PAGE2
PAGE3
电子活页2-4Python字符串的基本操作
(1)创建字符串
创建字符串很简单,只需为字符串变量分配一个值即可。例如:
str1=HelloPython!
str2=LiMing
str3=Thequickbrownfoxjumpsoveralazydog
如果字符串本身包含单引号()但不包含双引号(),则字符串会用双引号标注,否则字符串通常使用单引号标注。这样标识的字符串,print()函数会产生更易读的输出结果。
【注意】字符串开始和结尾使用的引号形式必须一致,另外,当需要表示复杂字符串时,引号可以嵌套使用。这种灵活性使字符串中能够包含引号和撇号,例如:
str1=ImDavid
str2=Itoldmyfriend:IlovePython
还可以使用反斜杠(\)转义引号和其他特殊字符来准确地表示所需字符串。
(2)访问字符串中的字符
Python中,可以使用方括号和索引值来访问子字符串。各种访问字符串中字符的方法与列表的类似,请参考列表部分的相关内容,这里只给出实例说明。
字符串是字符的序列,可以把字符串看作一种特殊的元组,可以按照单个字符或子字符串进行索引。Python中的字符串有2种字符索引值计数方式,第1种是从左往右计数,索引值从0开始依次增加,字符串的第1个字符的索引值为0,如图1W中第2行的数字0、1、2、3、4、5分别表示各个字符的索引值;第2种是从右往左计数,使用负数,以-1为末尾字符的索引值,向左依次减少,如图1W中第4行的数字表示相应字符的负数索引值。
正向递增索引值
0
1
2
3
4
5
p
y
t
h
o
n
-6
-5
-4
-3
-2
-1
反向递减索引值
图1W字符的索引值
(3)截取字符串
可以对字符串进行截取操作来获取子字符串。
截取字符串的基本语法格式如下:
变量[头索引值:尾索引值:步长]
方括号中前2个参数表示索引值,用冒号分隔两个索引值,截取的范围是前闭后开的,并且两个索引值都可以省略。默认的第1个索引值为0,如果第1个索引值为0,第2个索引值默认为字符串可以被截取的长度。对于非负数截取部分,如果索引都在有效范围内,截取部分的长度就是索引值的差值。例如,str[1:3]的长度是2。
第3个参数为截取的步长,如果省略,则默认为1,当省略该参数时,最后一个冒号也可以省略。
例如,在索引值1到索引值9之间,设置步长为3(间隔2个位置)来截取字符串,代码如下:
str=Betterlife
print(str[1:9:3])
运行结果如下:
eel
如果第3个参数为负数,则表示逆向截取。
上述3个参数都可以省略,例如print(str[::]),表示输出字符串的所有字符。
(4)连接字符串
加号(+)是字符串的连接运算符,使用“+”运算符可以连接多个字符串并产生一个新的字符串。
例如:
first_name=Li
last_name=Ming
full_name=first_name++last_name#连接字符串
print(full_name)
print(full_name+,你好)#连接字符串
运行结果如下:
LiMing
LiMing,你好
也可以截取字符串的一部分并与其他字符串连接,例如:
str=HelloWorld!
print(新字符串:,str[:6]+Python!)
运行结果如下:
新字符串:HelloPython!
【注意】不允许直接将字符串与其他类型的数据进行连接,例如将字符串与整数直接进行连接是不允许的,但可以使用str()函数先将整数转换为字符串,再进行连接。
(5)复制字符串
使用“*”运算符可以实现将字符串重复多次,“*”运算符用于复制当前字符串,与之结合的数字为复制的次数。
例如:
str=go!
print(str*3)#复制字符串3次
运行结果如下:
go!go!go!
(6)修改与添加字符串中的字符
由于Python中的字符串不能被改变,如果向一个字符串的某个索引位置赋值,会出现异常信息。
例如:
str=go
str[0]=t
执行时会出现以下异常信息:
Filestdin,line1,inmodule
TypeError:strobjectdoesnotsupportitemassignment
str[2]=s
执行时会出现以下异常信息:
Filestdin,line1,inmodule
TypeError:strobjectdoesnotsupportitem