字符串是 pthon 中最常用的数据类型。我们可以使用单引号、双引号或者三对单双引号来创建字符串。
创建字符串很简单,只要为变量分配一个值即可。
Python 的字符串有什么内建函数可以使用?
len()方法返回对象(字符、列表、元组等)长度或项目个数。每个字符一个长度。
split()通过指定分隔符对字符串进行切片。
split()方法语法:str.split(str, num)
- str:分隔符,默认为所有的空字符,包括空格、换行、制表符等。
- num:分割次数。默分隔所有。
默认格式:没有参数
带分隔符参数
带分隔符参数和分割次数:0代表不分割,1代表分割一次。
strip() 方法用于移除字符串头尾指定的字符(默认为空格)或字符序列。
注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。
返回移除字符串头尾指定的字符序列生成的新字符串。
默认不带参数:处理的时候,如果不带参数,默认是清除两边的空白符。包括空格、换行、制表符等。
带参数:带有参数的时候,删除符合要求的字符串。把左右两边的123删除。
lstrip(left strip)和 rstrip(right strip)用法跟strip一样
lstrip() 方法用于移除字符串左边指定的字符(默认为空格)或字符序列。
rstrip() 方法用于移除字符串末尾指定的字符(默认为空格)或字符序列。
count() 方法用于统计字符串里某个字符出现的次数。
可选参数为在字符串搜索的开始与结束位置。
返回子字符串在字符串中出现的次数。
count()方法语法:str.count(sub, start=None, end=None)
- sub:搜索的子字符串
- start:字符串开始搜索的位置,包括自己。默认为第一个字符索引值为0。
- end:字符串中结束搜索的位置,不包括自己。默认为字符串的最后一个位置。
一个参数:子字符串
两个参数:从第七位开始。
三个参数:
capitalize()将字符串的第一个字母变成大写,其他字母变小写。
需要注意的是:
1、首字符会转换成大写,其余字符会转换成小写。
2、首字符如果是非字母(包括本身就是大写),首字母不会转换成大写,会转换成小写。
返回一个首字母大写的字符串。
lower() 方法转换字符串中所有大写字符为小写。
返回将字符串中所有大写字符转换为小写后生成的字符串。
upper() 方法将字符串中的小写字母转为大写字母。
返回小写字母转为大写字母的字符串。
islower() 方法检测字符串是否由小写字母组成。有一个大写返回False,全部小写返回True。
isupper() 方法检测字符串中所有的字母是否都为大写。
max() 方法返回字符串中最大的值。根据ASCII码表中的值比大小。
min() 方法返回字符串中最小的值。根据ASCII码表中的值比大小。
startswith() 方法用于检查字符串是否是以指定子字符串开头。如果检测到字符串则返回True,否则返回False。如果参数 start 和 end 指定值,则在指定范围内检查。
startswith()方法语法:str.startswith(sub, start=None, end=None))
- sub:指定的子字符串。
- start:可选参数用于设置字符串检测的起始位置。
- end: 可选参数用于设置字符串检测的结束位置。
endswith() 方法用于判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回True,否则返回False。如果参数start和 end 指定值,则在指定范围内检查。
endswith()方法语法::str.endswith(sub, start=None, end=None)
- sub:指定的子字符串。
- start:可选参数用于设置字符串检测的起始位置。
- end: 可选参数用于设置字符串检测的结束位置。
replace() 方法用于把字符串中指定的旧子字符串替换成指定的新子字符串,如果指定 count 可选参数则替换指定的次数,默认全部替换。
replace()方法语法:str.replace(old,new,count)
- old:指定的旧子字符串
- new:指定的新子字符串
- count:可选参数,替换的次数,默认为指定的旧子字符串在字符串中出现的总次数。
默认替换全部:
指定count次数:
title() 方法返回标题化的字符串,就是说所有单词的首个字母转化为大写,其余字母均为小写。
返回标题化的字符串,就是说所有单词的首字母都转化为大写。
请注意,非字母后的第一个字母将转换为大写字母:
istitle() 方法检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写。
如果字符串中所有的单词拼写首字母是否为大写,且其他字母为小写则返回 True,否则返回 False。
isdigit() 方法检测字符串是否全部只由数字组成。
isnumeric() 方法检测字符串是否只由数字组成。跟isdigit()相像。
str.isdecimal () 与str.isdigit()的区别
str.isdecimal() 检查字符串是否只包含十进制字符,如果是返回 true,否则返回 false。同时函数 str.isdigit() 对其他 unicode 支持的字符返回 True。
isalnum() 方法检测字符串是否由字母和数字组成。
如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False。
isalpha() 方法检测字符串中否只由字母组成。
如果字符串至少有一个字符并且所有字符都是字母则返回 True,否则返回 False
isspace() 方法检测字符串是否只由空白字符组成。
如果字符串中只包含空格,包括换行、制表格等。则返回 True,否则返回 False.
center() 方法返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。
center()方法语法:str.center(width, fillchar)
- width:字符串的总宽度。如果 width 小于字符串宽度直接返回字符串,不会截断。
- fillchar:填充字符。只能是单个字符,多个字符报错。
expandtabs() 方法把字符串中的 tab 符号('')转为空格,tab 符号('')默认的空格数是 8。
返回字符串中的 tab 符号('')转为空格后生成的新字符串。
find() 方法检测字符串中是否包含子字符串 str ,如果指定范围,则检查是否包含在指定范围内,如果指定范围内如果包含指定索引值,返回的是索引值在字符串中的起始位置。如果不包含索引值,返回-1。
find()方法语法:str.find(sub, start=None, end=None)
- sub:指定检索的字符串
- start:开始索引,默认为0。
- end:结束索引,默认为字符串的长度。
如果包含子字符串返回开始的索引值,否则返回-1。
rfind() 返回字符串最后一次出现的位置,如果没有匹配项则返回-1。类似于 find()函数,不过是从右边开始查找。
index()方法检测字符串中是否包含子字符串 str ,如果指定范围,则检查是否包含在指定范围内,该方法与 find()方法一样,只不过如果str不在 string中会报一个异常。
index()方法语法:str.index(sub, start=None, end=None)
- sub:指定检索的字符串
- start:开始索引,默认为0。
- end:结束索引,默认为字符串的长度。
如果包含子字符串返回开始的索引值,否则抛出异常。
rindex()返回子字符串 str 在字符串中最后出现的位置,如果没有匹配的字符串会报异常。类似于 index(),不过是从右边开始。
join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。
join()方法语法:str.join(seq)
- seq -- 要连接的元素序列。列表、元组、集合等。
返回通过指定字符连接序列中元素后生成的新字符串。
ljust() 方法返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。
ljust()方法语法:str.ljust(width, fillchar)
- width -- 指定字符串长度。
- fillchar -- 填充字符,默认为空格。
返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。
splitlines() 按照行('', '', ')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。
splitlines()方法语法:str.splitlines(keepends)
- keepends -- 在输出结果里是否去掉换行符('', '', '),默认为 False,不包含换行符,如果为 True,则保留换行符。
返回一个包含各行作为元素的列表。
swapcase() 方法用于将字符串中大写转换为小写,小写转换为大写
返回大小写字母转换后生成的新字符串。
zfill() 方法返回指定长度的字符串,原字符串右对齐,前面填充0。
zfill()方法语法:str.zfill(width)
- width -- 指定字符串的长度。原字符串右对齐,前面填充0。
返回指定长度的字符串。
日常写程序中只要把自己需要的字符串内置函数拿来用就可以。这些内置函数绝多数都够用。如果没有你想要的,就要自己封装函数。