1、字符串
字符串,用引号引起来的都是字符串。用于储存少量数据进行操作。其他数据类型转换为字符串类型的方法:str()。
切片有索引,和列表相似,所以和列表一样他也可以进行切片操作。
a = 'ABCDEFGHIJK' print(a[0:3]) print(a[2:5]) print(a[0:]) #默认到最后 print(a[0:-1]) # -1 是列表中最后一个元素的索引,但是要满足顾头不顾尾的原则,所以取不到K元素 print(a[0:5:2]) #加步长,步长指在设定的切片首位之间,每间隔步长-1,取一个数据。这段代码意为在ABCDE中每隔一个数据取一个数据,所以输出位ACE。 print(a[5:0:-2]) #反向加步长;意为从F开始到A之间,每隔一个数据,取一个 数据,所以输出的数据是FDB
2、字符串的常用方法
1、首字母大写:capitalize()
s = "aires" s1 = s.capitalize() print(s1)
----------------------------
Aires
2、字符串所有字母大写:upper()
s = "aires" s2 = s.upper() print(s2) ------------------------------------ AIRES
3、字符串所有字母小写:lower()
s = "AIRES" s3 = s.lower() print(s3) ----------------------------------- aires
4、字符串中字母大小写反转:swapcase()
s = "airES" s4 = s.swapcase() print(s4) -------------------------------- 'AIRes'
5、在单词中间隔着空格、特殊字符或数字的情况下首字母大写:title()
s = "air;es asd-fg fj2fj" s5 = s.title() print(s5) #只要字符串中有除了英文以外的字符,那么那个字符后面的那一个英文字母转换为大写。 -------------------------------------------------- Air;Es Asd-Fg Fj2Fj
6、字符串内容居中,字符串总长度,空白处填充其他字符:center() (长度,填充字符)
s = "Aires" s6 = s.center(40,"-") #(长度,填充)若使用此方法,长度必须填,若想保持不变可以填0,不可为空。填充符可不填,默认为空格。 print(s6) ---------------------------------------------------- -----------------Aires------------------
7、len()方法
s = "Aires" s8 = len(s) print(s8) ------------------------------------ 5 #用于字符串输出有多少字符,用于元组输出有多少元素,用于列表输出有多少元素,用于字典输出有多少键值对;
8、寻找字符串中是否有某个字符:find() 通过字符找索引 index()与find()差不多,但找不到会报错,所以一般选择用find()
s = "Aires" s10 = s.find("re",0,4) #用find通过元素(字符)寻找索引,找到的情况下返回第一个元素(字符)的索引,找不到返回-1. print(s10) --------------------------------------------- 2
9、删除字符串前后的空格或字符:strip();
删除左侧的空格或字符:lstrip();
删除右侧的空格或字符:rstrip();
ps:括号不填默认删除空格或换行符(\n),括号里填什么字符就前后删除什么字符,可多填,中间不用逗号分开。不能删字符串中间的字符,只能删两边的。
s = "**Ai*res**" s11 = s.strip("*A") #括号不填默认删除空格,括号里填什么字符就前后删除什么字符,可多填,中间不用逗号分开。不能删字符串中间的字符,只能删两边的 print(s11) -------------------------------------------- i*res
10、分割 字符串转换为列表:split()
s = "Ai;re;s" s12 = s.split(";") #括号中不写默认为以空格分割字符串为列表。括号里填什么符号就以什么符号分割字符串为列表。 print(s12) ------------------------------------------ ['Ai', 're', 's'] #结果为列表
11、格式化输出的三种玩法:format(尽量用这种格式化输出方法)
s13='我叫{},我{}岁了,我的爱好是{}'.format('aires',18,'play computergame') #顺序输入 s131='我叫{0},我{1}岁了,我的爱好是{2}'.format('aires',18,'play computergame') #索引 s132='我叫{name},我{age}岁了,我的爱好是{hobby}'.format(hobby='play computergame',name='aires',age=18) #字典(键值对) print(s13) print(s131) print(s132) ------------------------------------------ 我叫aires,我18岁了,我的爱好是play computergame 我叫aires,我18岁了,我的爱好是play computergame 我叫aires,我18岁了,我的爱好是play computergame
12、替换:replace()(需要替换的字符,新的字符,替换次数)替换次数为空默认全部替换
s = "123666aaaaad" ls = s.replace("a","q") print(ls) ------------------------------------- 123666qqqqqd
13、判断字符串是否由(数字,字母,数字或字母)组成:
数字:isdigit() ;
字母:isalpha() ;
数字或字母:isalnum()
只返回两个结果(布尔值)(True,False)
ps:括号里不写参数
name = "aires132546" print(name.isalnum()) #字符串由字母或数字组成 print(name.isalpha()) #字符串只由字母组成 print(name.isdigit()) #字符串只由数字组成 ------------------------------------------------------- True False False
14、计算一个元素在字符串里出现了多少次(计数):count()
ps:与“len()”一样可用于列表
s = "123666aaaaad" ls = s.count("6") print(ls) ----------------------------------- 3