test = 'bbC!dEA'
test1 = '{name}+{age}'
test2 = '{0}+{1}'
test3 = 'user\temail\tpass\nwang\t123@qq.com\t123\nwang\t123@qq.com\t123'
# 首字母大写,其余小写
v1 = test.capitalize()
print(v1)
# 结果: Bbc!dea
# 所有字母变小写(功能更强大)
v2 = test.casefold()
print(v2)
# 结果: bbc!dea
# 所有字母变小写
v3 = test.lower()
print(v3)
# 结果: bbc!dea
# param1:设置长度,并居中; param2:用 * 补充
# param1 必传,param2 可不传
v4 = test.center(13, '*')
print(v4)
# 结果: ***bbC!dEA***
# 在字符串中寻找子序列的出现次数
# param1:子序列; param2:起始下标;param3:结束下标(包头不包尾)
# param1 必传,param2 可不传,param3 可不传
v5 = test.count('A', 0, 1)
print(v5)
# 结果: 0
# 是否以子序列结尾
# param1:子序列; param2:起始下标;param3:结束下标(包头不包尾)
# param1 必传,param2 可不传,param3 可不传
v6 = test.endswith('A', 0, 1)
print(v6)
# 结果: False
# 返回子序列第一次出现的位置,没有匹配返回-1
# param1:子序列; param2:起始下标;param3:结束下标(包头不包尾)
# param1 必传,param2 可不传,param3 可不传
v7 = test.find('A', 0, 6)
print(v7)
# 结果: -1
# 返回子序列第一次出现的位置,没有匹配报错
# param1:子序列; param2:起始下标;param3:结束下标(包头不包尾)
# param1 必传,param2 可不传,param3 可不传
v8 = test.index('b', 0, 6)
print(v8)
# 结果: 0
# 将一个字符串中的占位符替换为指定值
v8 = test1.format(name='eaphy', age=10)
v9 = test2.format('eaphy', 10)
print(v8)
# 结果: eaphy+10
print(v9)
# 结果: eaphy+10
# 判断字符串是否只有数字和字母
v10 = test.isalnum()
print(v10)
# 结果: False
# 以20长度分割,有制表符 \t ,则\t 后面以空格补齐20长度
"""
假设 test = 'user\temail\tpass\nwang\t123@qq.com\t123\nwang\t123@qq.com\t123'
v = test.expandtabs(3)
那么以3个长度为单位分割字符,第1段字符是use,第2段就是 r\t(各个段之间是没有任何改变的,不会加空格)
第2段已经有1个r占了1位,所以 \t 以2个空格补齐3位,前两段就变成 ‘user ’
第3段字符是ema,第4段就是 il\t
第4段已经有il占了2位,所以 \t 以1个空格补齐3位,34段就变成 ‘email ’
前4段合起来就是 ‘user email ’
之后依此类推
"""
v11 = test3.expandtabs(20)
print(v11)
# 结果:
# user email pass
# wang 123@qq.com 123
# wang 123@qq.com 123