字符串用双引号" "或单引号' '都可以。
(一)字符串拼接
s1 = "数字:" a = 33 b = str(a)#使用str()将数值转换成字符串 c = 55 print(s1+b) print(a+c) print(s1+str(a)) print(s1+a)#字符串直接拼接数值,程序报错
结果:
数字:33 88 数字:33 Traceback (most recent call last): File "D:/untitled/demo.py", line 296, in <module> print(s1+a) TypeError: can only concatenate str (not "int") to str
(二)字符串切片
代码:
s = '0123456789987654321' print(s[0:5]) #获取s中从索引0处到索引5处(不包含)的子串 print(s[0:-5]) #获取s中从索引0处到倒数第5个(不包含)字符串的子串 print(s[-8:-4]) #获取s中从倒数第8个字符串到倒数第4个(不包含)字符串的子串 print(s[-18:6]) #获取s中从倒数第18个字符串到索引6处(不包含)字符串的子串 print(s[::2]) #每隔一个取一个字符 print(s[::3]) #每隔两个,取一个字符 print(s[3:]) #获取s中从索引三到结束的字符串的子串 print(s[-7:]) #获取s中从倒数第七个字符到结束的子串 print(s[:7]) #获取s中从索引0处到索引7(不包含)处的子串 print(s[:-7]) #获取s中从索引0处到倒数第7处(不包含)的子串
结果:
01234 01234567899876 8765 12345 0246897531 0369741 3456789987654321 7654321 0123456 012345678998
(三)len()函数
len()函数获取字符串长度或者字节数。
代码:
b = '123我是小可爱吗?' print(len(b)) #计算该字符的长度 print(len(b.encode())) #将字符串进行编码后再获取它的字节数 #汉字加中文标点符号共 7 个,7*3占 21 个字节,而英文字母及数字和英文的标点符号占 3 个字节,一共占用 24个字节。 a = '不,你不是!' print(len(a)) print(len(a.encode()))
结果:
10 24 6 18
(四)count()函数
count()函数统计字符串出现的次数。
代码:
str = '01234567890123456789' #从指定索引处查找字符串 print(str.count('12345678',0,-2)) #从索引0处到倒数第二处(不包含)查询查询指定字符串的个数(012345678901234567中找12345678的个数) print(str.count('1234567',0,-2)) #从索引0处到倒数第二处(不包含)查询指定字符串的个数(012345678901234567中找1234567的个数) print(str.count('3456',3,7)) #从索引3处到索引7处(不包含)查询指定字符串的个数(3456中查询3456的个数) print(str.count('3456',3,6)) #从索引3处到索引6处(不包含)查询指定字符串的个数(345中查询3456的个数) print(str.count('3456',3,17)) #从索引3处到索引17处(不包含)查询指定字符串的个数(34567890123456中查询3456的个数) print(str.count('3456',3,16)) #从索引3处到索引16处(不包含)查询指定字符串的个数(3456789012345中查询3456的个数) print(str.count('23456',-18,-3)) #从倒数第18处到倒数第三处(不包含)查询指定字符串的个数(234567890123456中查询23456的个数) print(str.count('23456',-18,-4)) #从倒数第18处到倒数第三处(不包含)查询指定字符串的个数(23456789012345中查询23456的个数)
结果:
1
2
1
0
2
1
2
1
五)split()函数
split()函数用于字符串分割。
代码:
str = "您好!欢迎走上码农这条不归路. 想逃? >>> 看招!hahaha" list1 = str.split() #采用默认分隔符进行分割(默认以空格形式进行) print(list1) list2 = str.split('>>>') #采用多个字符进行分割 print(list2) list3 = str.split('.') #采用.号进行分割 print(list3) list4 = str.split(' ',4) #采用空格进行分割,并规定最多只能分割成 4 个子串 print(list4) list5 = str.split('>') #采用 > 字符进行分割 print(list5)
结果:
['您好!欢迎走上码农这条不归路.', '想逃?', '>>>', '看招!hahaha'] ['您好!欢迎走上码农这条不归路. 想逃? ', ' 看招!hahaha'] ['您好!欢迎走上码农这条不归路', ' 想逃? >>> 看招!hahaha'] ['您好!欢迎走上码农这条不归路.', '想逃?', '>>>', '看招!hahaha'] ['您好!欢迎走上码农这条不归路. 想逃? ', '', '', ' 看招!hahaha']
(六)format()函数
format() 方法对字符串进行格式化。
代码:
#以货币形式显示 print("货币形式:{:,d}".format(1000000)) #科学计数法表示 print("科学计数法:{:E}".format(1200.12)) #以十六进制表示 print("100的十六进制:{:#x}".format(100)) #输出百分比形式 print("0.01的百分比表示:{:.0%}".format(0.01)) print("货币形式输出:{:,d}".format(875638768)) print("十六进制形式输出:{:#x}".format(100)) print("科学计数法形式输出:{:E}".format(1567.786)) print("0.19的百分比表示:{:.0%}".format(0.19))
结果:
货币形式:1,000,000 科学计数法:1.200120E+03 100的十六进制:0x64 0.01的百分比表示:1% 货币形式输出:875,638,768 十六进制形式输出:0x64 科学计数法形式输出:1.567786E+03 0.19的百分比表示:19%