Python数据类型--字符串

字符串(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

 

posted @ 2020-10-10 23:02  shijin_lee  阅读(268)  评论(0编辑  收藏  举报