字符串(String):用单引号(‘)、双引号(“)、三引号(’”)成对表示,由任意的字节的字符构成。
赋值:
name,name1,name2='jack',"lily",'"Tom"' #一行多字符串赋值
注:单引号、双引号、三引号一定在英文状态下输入。
str3 = 'I'm a coder' 显示语法错误,应为str3 = “ I'm a coder ”
字符串的基本操作:
一、读取
字符串每个字符都对应一个下标,且下标都是从0开始,后续为1,2,3....。可以利用[下标方式]读取字符串对应的值。
(1)单下标读取:【下标】
name="Tom is a cat!"
(2)切片:[左下标:右下标]
>>>name[4:6]
is
字符串[开始位置:结束位置:间隔位置]
开始位置是0,正数代表从左往右。负数代表从右边开始。
str[0:-1]) # 输出第一个到倒数第二个的所有字符没问题
(3)带冒号省略下标方式切片:[:右下标]、[左下标:]、[:]
>>>name[:3] 等价于name[0:3]
Tom
>>>name[:] #读取整个字符串
Tom is a cat!
(4)带步长的切片读取:[左下标:右下标:步长]
>>>name[::2] #从头到尾,步长为2,读取对应字符
Tmi a!
(5)负数下标读取:用负数下标从右到左读取对应的字符串
>>>name[-4:-1] #从右到左读取倒数第4个、第三个、第二个字符
cat
>>>name[::-1] #与原字符串顺序相反的字符串
!tac a si moT
二、字符串合并
加号 + 是字符串的连接符, 星号 * 表示复制当前字符串,紧跟的数字为复制的次数
例:
>>>str1="abcd"
>>>str2=str1+'efg'
print(str2) #abcdefg
>>>str3=str1+‘xyz’*2 #字符串复制2次
abcdxyzxyz
#格式化字符串
print('{}is a kind of {}'.format('cat','mamal'))#{}字符槽
>>>cat is a kind of mamal
print('{3} is in {2},but {1} is in {0}'.format('china','shanghai','us','newyork'))
>>>new york is in us,but shanghai is in china
三、字符串长度:用len函数获取字符串的长度
a="hello,三只猫!"
b='hello world'
print(len(a)) #10
print(len(b))# 11
注:len()函数求长度不区分汉字或字符,一个汉字看作一个字符的长度。
四、查找
格式:字符串.find('要查找的内容'[,开始的位置,结束位置])
开始位置和结束位置表示要查找的范围,若为空值,则表示查找所有。找到目标后返回目标第一位内容所在的位置。位置从0开始算,如果没找到,则返回-1.
例:str='ABCDABC'
>>>print(str.find('A')) #输出内容0
>>>print(str.find('A',3)) #输出内容4
五、替换
格式:字符串.replace('被替换内容','替换后内容')
例题:
str="ABCABCABC"
>>>print(str.replace('c','v'))
#输出内容:ABVABVABV
替换为特殊字符,空格
print(str.replace('BC',' '))
#输出内容:A A A