一:
python3中常用的字符串方法:method
方法的调用语法:
对象.方法名(方法传参)
说明:方法的调用同函数的调用一样属于表达式。
常用字符串方法
方法 说明
S.isdigit() 判断字符串中的字符是否全为数字
>>> a = '12345'
>>> a.isdigit()
True
>>>
S.isalpha() 判断字符串是否全为英文字母
>>> a = 'abcde'
>>> a.isalpha()
True
>>>
S.islower() 判断字符串所有字符是否全为小写英文字母
>>> a = 'abcd'
>>> a.islower()
True #都是小写,返回True
>>> a = 'abcdEF'
>>> a.islower() #其中有大写,所以返回False
False
>>>
S.isupper() 判断字符串所有字符是否全为大写英文字母
>>> a = 'ABCD'
>>> a.isupper()
True
>>> a = 'ABCDcd'
>>> a.isupper()
False
>>>
S.isspace() 判断字符串是否全为空白字符
>>> a = ' '
>>> a.isspace()
True
>>> a = '1'
>>> a.isspace()
False
>>>
S.center(width[,fill]) 将原字符串居中,左右默认填充空格
>>> a = 'abcd'
>>> a.center(20) #默认两边填充空格
' abcd '
>>> a.center(20,'#') #定义了填充物'#' 两边填充 #
'########abcd########'
>>> a.center(20,'+')
'++++++++abcd++++++++'
>>>
S.count(sub[, start[,end]]) 获取一个字符串中子串的个数 (常用)
>>> s = 'hello world'
>>> s.count('h') #获取字符串中h有多少个
1
>>> s.count('l')
3
>>> s.count(' ') #获取字符串中空格有多少个
1
>>>
S.find(sub[, start[,end]]) 获取字符串中子串sub的索引,失败返回-1
参数
sub -- 指定检索的子字符串
S -- 父字符串
start -- 可选参数,开始索引,默认为0。(可单独指定)
end -- 可选参数,结束索引,默认为字符串的长度。(不能单独指定)
>>> x = 'abcde' #从0下标开始找,查找在字符串的第一个出现的子串,因为没定义重多少为开始找,默认重0开始找,返回结果为0
>>> x.find('a')
0
>>> x.find('a',1) #定义重第一位开始找a在字符串中的第几位I出现,因为a在0位,0后面没有其他的a了,所以从1位开始找的话,找不到,所以显示-1
-1
>>> x.find('a',2)
-1
>>> x = 'abcdea' #这个字符串中最后多加了一个a,从第二开始找的话第五位有a,所以返回5,在第五位可以找到。
>>> x.find('a',2)
5
>>>
S.strip() 返回去掉左右空白字符的字符串
>>> a = ' abc '
>>> a
' abc '
>>> a.strip()
'abc'
>>>
S.lstrip() 返回去掉左侧空白字符的字符串
>>> a = ' abc '
>>> a.lstrip()
'abc '
S.rstrip() 返回去掉右侧空白字符的字符串
>>> a = ' abc '
>>> a.rstrip()
' abc'
S.upper() 生成将英文转换为大写的字符串
>>> a = 'abcde'
>>> a.upper()
'ABCDE'
>>>
S.lower() 生成将英文转换为小写的字符串
>>> a = 'ABCDE'
>>> a.lower()
'abcde'
>>>
S.replace(old, new[, count]) 方法用于把字符串中指定的旧子字符串替换成指定的新子字符串,如果指定 count 可选参数则替换指定的次数,默认全部替换。
参数:
old -- 指定的旧子字符串
new -- 指定的新子字符串
count -- 可选参数,替换的次数,默认为指定的旧子字符串在字符串中出现的总次数。
>>> a = 'abcdrf'
>>> a.replace('a', 'h') #替换原来字符串中的'a' 用新字符'h'代替
'hbcdrf'
>>> a = 'abcdrfaca'
>>> a.replace('a', 'g',2) #字符'a' 在字符串中出现多次。后面的2代表从左至右将前面两次的'a'替换成'g'
'gbcdrfgca'
>>> a.replace('a', 'g',1)
'gbcdrfaca'
>>> a.replace('a', 'g',3)
'gbcdrfgcg'
>>> a.replace('a', 'g') #后面不加cunt参数默认全部替换。
'gbcdrfgcg'
>>>
S.startswith(prefix[, start[, end]]) 返回S是否是以prefix开头,如果以prefix开头返回True,否则返回False,
参数:
S -- 父字符串。
prefix -- 指定前缀,该参数可以是一个字符串或者是一个元素。
start -- 可选参数,字符串中的开始位置索引,默认为0。(可单独指定)
end -- 可选参数,字符中结束位置索引,默认为字符串的长度。(不能单独指定)
>>> a = 'hello python'
>>> a.startswith('h')
True
>>> a.startswith('p',6)
True
>>> a.startswith('o',4,1)
False
>>> a.startswith('o',4,4)
False
S.endswith(suffix[, start[, end]]) 方法用于判断字符串是否以指定后缀结尾,如果是则返回 True,否则返回 False
参数和上面的一样
>>> a = 'hello python'
>>> a.endswith('n',11)
True
>>>
以下是不常用的
S.title() 生成每个英文单词的首字母大写字符串
>>> a = 'hello python'
>>> a.title()
'Hello Python'
>>>
S.isnumeric() 判断字符串是否全为数字字符
>>> a = '1234'
>>> a.isnumeric()
True
>>
二:
字符串格式化表达式:
作用:
生成一定格式的字符串
运算符:
%
格式:
格式化字符串 % 参数值
或
格式化字符串 % (参数值1,参数值2,......)
格式化字符串中的占位符和类型码
占位符类型码意义
ython字符串格式化符号:
符 号 | 描述 |
---|---|
%c | 格式化字符及其ASCII码 |
%s | 格式化字符串 |
%d | 格式化整数 |
%u | 格式化无符号整型 |
%o | 格式化无符号八进制数 |
%x | 格式化无符号十六进制数 |
%X | 格式化无符号十六进制数(大写) |
%f | 格式化浮点数字,可指定小数点后的精度 |
%e | 用科学计数法格式化浮点数 |
%E | 作用同%e,用科学计数法格式化浮点数 |
%g | %f和%e的简写 |
%G | %f 和 %E 的简写 |
%p | 用十六进制数格式化变量的地址 |
示例:
>>> n = "姓名:%s, 年龄: %d"
>>> name= "张三"
>>> age = 20
>>> print(n %(name, age))
姓名:张三, 年龄: 20
>>>
占位符 % 和类型码之间的格式语法:
% [格式语法] 类型码(d,s,f等)
格式语法:
- 左对齐
+ 显示正负号
0 补零
宽度
宽度.精度
>>> a = 'abc'
>>> print("%20s" %a) #向右对齐,默认以空格填充
abc
>>>
>>> a = 'abc'
>>> print("%-10s" %a) #向左对齐,默认以空格填充
abc
>>>
>>> a = 3.1415926
>>> print("%.2f" %(a)) #浮点十进制形式,".2"代表取多少位小数
3.14
>>> print("%.3f" %(a))
3.142
>>> print("%10.3f" %(a)) #浮点十进制形式,前面补十位空格
3.142
>>>
.......