字符串
1.什么是字符串
- 用引号引起来的一串字符
- 用引号来创建字符串
- 单引号
- 双引号
- 三单引号
- 三 双引号
name="hangzhou"
area='gongshu'
history="5000"
famous_person="""sushi,xuxian,baisuzhen"""
capticalof ='''yuguo,nansong'''
print(type(name),type(area),type(history),type(famous_person),type(capticalof))
字符串的常见操作
(1)拼接
a="hello"
b=",python"
print(a+b)
#拼接基于同一种数据类型
(2)重复
a="city college"
print(a*3)
(3) 索引(偏移)
sr ="python"
print(len(sr))
print(sr[5])
print(sr[1:2])
(4)大小写转换
- sr.lower()转小写
- sr.upper()转大写
- sr.swapcase()大小写互换
- sr.title()转为标题的形式
- sr.capitalize()首字母大写
sr="life is short,you need PYTHON."
print(sr.lower())
print(sr.upper())
print(sr.swapcase())
print(sr.title())
print(sr.capitalize())
例题:验证码输入
certid="AbCd"
ipt =input("请输入验证码:")
if ipt.lower()==certid.lower():
print("输入成功")
else :
print("对不起,输入错误,请重试")
(5)字符串的格式输出对齐
- sr.center([len],[填充符号]),居中对齐
- sr.ljust([len],[填充对齐]),居左对齐
- sr.rjust([len],[填充对齐]),居右对齐
- sr.zfill([len]),居右对齐。默认填充0
(6)删除指定字符
- sr.strip()
- sr.lstrip()
- sr.rstrip()
(7)技术
-
sr.count()
-
print(sr.count('o',9,17))#从第九位到第十六位'o'的个数
(8)字符串搜索定位和替换
- sr.find() 查找元素并返回第一次出现的元素的索引值
- sr.find(’’,x,y)在x到y的范围内搜素’'的位置#查找不到返回-1
- sr.index()查找元素并返回第一次出现的元素的索引值,查找不到报错
- sr.rindex()从右往左查找
- sr.replace([现有],[替新])
print(sr.replace('t','T',1))#替换第一个't'
(9)字符串条件判断
- isalnum(),判断字符串由字母或者数字组成
- isalpha(),仅有字母
- isdight(),仅有数字
a="abc654136def"
b="666"
c="abc"
print(c.isalpha())
(10)制表符的转化
- sr.expandtabs
(11)字符串的分割变换
- join(),将指定字符插入到元素之间
- split(),将指定字符分割字符串并去除该字符
- partition(),以指定字符分割字符串并保留该字符
sr="life one \tday"
print('+'.join(sr))
li=["i","love","python"]
print(' '.join(li))
sr="life one o day"
print(sr.split('o'))
sr="life one o day"
print(sr.split('o',1))#输出列表
sr="life one o day"
print(sr.partition('o'))#输出元组
(13)ASCII值和字符的转化
chr() dight—>alpha
ord() alpha---->dight
拓展:
string模块
[‘Formatter’, ‘Template’, ‘_ChainMap’, ‘_TemplateMetaclass’, ‘all’, ‘builtins’, ‘cached’, ‘doc’, ‘file’, ‘loader’, ‘name’, ‘package’, ‘spec’, ‘_re’, ‘_string’, ‘ascii_letters’, ‘ascii_lowercase’, ‘ascii_uppercase’, ‘capwords’, ‘digits’, ‘hexdigits’, ‘octdigits’, ‘printable’, ‘punctuation’, ‘whitespace’]
print('%o' % 17)#将一个数转化为八进制
print('%x' % 17)#将一个数转化为十六进制
%d #将一个数转化为十进制
#21 11
print(’%f’ % 1.11) # 默认保留6位小数
1.110000
print(’%.1f’ % 1.11) # 取1位小数
1.1
print(’%e’ % 1.11) # 默认6位小数,用科学计数法
1.110000e+00
print(’%.3e’ % 1.11) # 取3位小数,用科学计数法
1.110e+00
print(’%g’ % 1111.1111) # 默认6位有效数字
1111.11
print(’%.7g’ % 1111.1111) # 取7位有效数字
1111.111
print(’%.2g’ % 1111.1111) # 取2位有效数字,自动转换为科学计数法
计数法1.110e+00
print(’%g’ % 1111.1111) # 默认6位有效数字
1111.11
print(’%.7g’ % 1111.1111) # 取7位有效数字
1111.111
print(’%.2g’ % 1111.1111) # 取2位有效数字,自动转换为科学计数法
1.1e+03