1. 字母大小写
//括号内不用写值
x.capitalize() #一句话的首字母大写
x.casefole() #一句话都是小写字母(能处理多种字符)
x.title() #每个单词的首字母大写
x.swapcase() #将字符串的大小写反转,小写变大写,大写变小写
x.upper() #所有字母大写
x.lower() #所有字母小写(只能处理英文字符)
2. 指定代码位置
//括号内标明字符串长度,如果写入数字比实际大,那么多余部分默认空格填充,如果比实际小,那么默认输出字符串
//举例x.center(15)
//python默认使用空格填充,也可以指定用什么来填充,如用A填充:x.center(15, ”A”)
x.center() #居中对齐,空格填充多余部分
x.ljust() #字符串左对齐,空格填充多余部分
x.rjust() #字符串又对齐,空格填充多余部分
x.zfill() #用0填充多余部分
3. 查找字符串
//使用find或rfind查找字符串中没有的字符,不会报错,但会返回 -1,用index查找就会报错
x.count(“s”) #查找x中s出现的次数,可以指定起始查找位置与结束位置,如:x.count(“s”, 0, 5) 从第一位找到第五位
x.find(“s”) #从左往右查找x中s位置的下标
x.rfind(“s”) #从右往左查找x中s位置的下标(下标依然是从左往右)
4. 替换
A = x.expandtabs(4) #将x代码中出现的tab缩进转换为4个空格缩进
x.replace(“q”, ”w”) #将x代码中出现的q替换为w,默认替换所有(默认count为-1) x.replace(“q”, ”w”, count=-1)
“Q wer test”.translate(str.maketrans(“qwe”, “123”)) #将Q wer test中的qwe替换成123。其中括号内的str.maketrans(“qwe”, “123”)可以分出来写,但要写在前面
//上面的输出结果为,1 23r test 。如果要忽略test,可以这么写
“Q wer test”.translate(str.maketrans(“qwe”, “123”, "test"))
5. 判断
//判断字符
x.startswith("测") #判断x中第一个代码是否为“测”,是返回true,否则返回false
x.endswith("试") #判断x中最后一个代码是否为“试”
x.isspace() #判断字符串中是否是空白字符(空白字符包括但不限于:空格,Tab,\n等)
x.isprintable() #判断字符串中是否都是可打印字符(\n类不是可打印字符)
//判断单词
x.istitle() #判断字符串中所有单词是否以大写字母开头
x.isupper() #判断字符串中所有单词是否都是大写字母
x.upper() #将字符串中所有单词全变成大写
x.islower() #判断字符串中所有单词是否都是小写字母
x.isalpha() #判断字符串中是否只有字母(空格不是字母,有空格返回flase)
//判断数字
x.isdecimal() #能够判断字符串是否是阿拉伯数字
x.isdigit() #能够判断阿拉伯数字与数学中的平方
x.isnumeric() #能够判断阿拉伯数字、平方、罗马数字、汉字数字
x.isalnum() #当isdecimal、isdigit、isnumeric、isalpha任意一个返回true,isalnum就返回true
x.isidentifier() #判断字符串是否是一个合法的python标识符(标识符不能以数字开头,不能有空格)
//判断字符是否是保留标识符
import keyword
keyword.iskeyword("x") #判断x是否是保留标识符
6. 截取字符串
//默认去掉空白字符,如果要去掉其他字符,要在()内填入去掉的字符,如x.lstrip("test")为去掉左侧的test三个单字符(tes)
x.lstrip() #去掉左侧空白字符
x.rstrip() #去掉右侧空白字符
x.strip() #去掉左右两侧空白字符
x.removeprefix("test") #去掉左侧test字符串
x.removesuffix("test") #去掉右侧test字符串
7. 拆分&拼接字符串
//拆分字符串
x.partition(".") #以从左到右遇见的第一个.为切割x中的字符串,并分成三元祖(三个元素的元祖)
x.rpartition(".") #以从右到左遇见的第一个.为切割x中的字符串,并分成三元祖(三个元素的元祖)
x.split() #默认以空格切割x中的字符串,有几个空格切几次
x.split("/") #以/切割x中的字符串,有几个/切几次
x.split("/", 1) #以/为切割x中的字符串,从左到右切割1次
x.rsplit("/", 1) #以/为切割x中的字符串,从右到左切割1次
x.splitlines() #将字符串按行切割,将结果以列表形式返回(默认括号内不需要参数,但可通过在括号内添加True来实现将换行符也写入列表中)
//拼接字符串
".".join(["www.", "test", "com"]) #用.来拼接后面的字符串。结果为www.test.com
8. format - 格式化字符串
格式:[[file]align][sign][#][0][width][grouping_option][.precision][type]
//1. format括号内的参数也有下标索引,因此在左边的花括号内填入索引值{0}就可带入右侧的参数。
//2. 索引值可以被重复引用
year = 2022
"今年是 {} 年".format(year) #输出结果为:今年是 2022 年
//3. 左侧可使用关键字指定右侧参数
"我叫{name},我今年{age}".format(name="王老五", age="18")
8.1 align参数
值 | 含义 |
---|
‘<’ | 强制字符串在可用空间内左对齐(默认) |
‘>’ | 强制字符串在可用空间内右对齐 |
‘=’ | 强制将填充放置在符号(如果有)之后但在数字之前的位置(适用于以“+000000120”的形式打印字符串) |
‘^’ | 强制字符串在可用空间内居中 |
>>> "{1:%>10}{0:<%10}".format(123,321) //{1:%>10}中,1的位置为右侧下标索引,%为以%填空空白部分,>空间内右对齐,10为一共十个字符串
'%%%%%%%321123%%%%%%%'
8.2 sign参数
值 | 含义 |
---|
‘+’ | 正数在前面添加正号+,负数添加负号- |
‘-’ | 只有负数在前面添加负号,默认行为 |
空格 | 正数在前面添加一个空格,负数在前面添加负号- |
>>> "{:+} {:-}".format(123,-321)
'+123 -321'
8.3 grouping_option参数
>>> "{:,}".format(1231) //使用,做千位分隔符,也可将都好换位下划线_
'1,231'
8.4 .precision参数
- 对于设置为f或F的浮点数,是限制小数点后的位数
- 对于设置为g或G的浮点数,限定小数点前后的位数
- 对于非数字类型,限定最大字段的大小
- 整数不允许使用此选项
>>> "{:.2f}".format(3.1415) #保留小数点后两位
'3.14
>>> "{:.2g}".format(3.1415) #限制小数点前后一共有2位
'3.1'
>>> "{:.6}".format("abcdefgh") #限定了前六位字符
'abcdef'
8.5 type类型参数
值 | 含义 |
---|
‘b’ | 将参数以二进制形式输出 |
‘c’ | 将参数以Unicode字符形式输出 |
‘d’ | 将参数以十进制的形式输出 |
‘o’ | 将参数以八进制的形式输出 |
‘x’ | 将参数以十六进制的形式输出 |
‘X’ | 将参数以十六进制的形式输出 |
‘n’ | 跟d类似,不同之处是它会使用以当前语言环境设置的分隔符插入到恰当的位置 |
None | 与d一样 |
>>> "{:b}".format(80)
'1010000'
>>> "{:c}".format(80)
'P'
值 | 含义 |
---|
‘e’ | 将参数以科学计数法的形式输出(以字母e来标示指数,默认精度为6) |
‘E’ | 将参数以科学计数法的形式输出(以字母E来标示指数,默认精度为6) |
‘f’ | 将参数以定点表示法的形式输出(“不是数”用‘nan’标示,无穷用‘inf’标示,默认精度为6) |
‘F’ | 将参数以定点表示法的形式输出(“不是数”用‘NAN’标示,无穷用‘INF’标示,默认精度为6) |
‘g’ | 通用格式,小数以f形式输出,大数以e形式输出 |
‘G’ | 通用格式,小数以F形式输出,大数以E形式输出 |
‘n’ | 跟g类似,,不同之处是它会使用以当前语言环境设置的分隔符插入到恰当的位置 |
‘%’ | 以百分比形式输出。(将数字乘100并显示为定点表示法f的形式,后面附带百分号) |
None | 类似g,不同之处在于用定点表示法时,小数点后将至少显示一位,默认精度与给定值所需的精度一致 |
>>> "{:e}".format(3.1415)
'3.141500e+00'
>>> "{:E}".format(3.1415)
'3.141500E+00'
>>> "{:f}".format(3.1415)
'3.141500'
>>> "{:F}".format(3.1415)
'3.141500'
>>> "{:g}".format(3.1415)
'3.1415'
>>> "{:g}".format(123456789)
'1.23457e+08'
>>> "{:g}".format(1234.56789)
'1234.57'
>>> "{:%}".format(0.98)
'98.000000%'
>>> "{:.2%}".format(0.98)
'98.00%'
8.6 ‘#’参数
- 参数以二进制、八进制或十六进制输出的时候,会自动追加一个前缀,前缀为当前的进制
>>> "{:#b}".format(80)
'0b1010000'
>>> "{:#x}".format(80)
'0x50'