Str 字符串
python 字符串str是在Python编写程序过程中,最常见的一种基本数据类型。
A、创建字符串
a=str('字符串')
a='这样也是字符串'
astr='我是字符串' #使用单引号或是双引号来创建 bint=123 #这是一个int类型 bstr=str(bint) #str()可以用来把List,dict,int,float这些类转为字符串 #输入出结果及类型 print(astr,type(astr)) print(bint,type(bint)) print(bstr,type(bstr))
#输出
我是字符串 <class 'str'>
123 <class 'int'>
123 <class 'str'>
B、三引号""" """
1、定义字符串
2、解释说明
3、文档字符串,主要用在类(calss)里面,使用 __doc__
atstr=""" 我这里可以这样写 我的排列,输出来就这样 我怎么排,输出就怎么样 """
输出结果:
我这里可以这样写
我的排列,输出来就这样
我怎么排,输出就怎么样
C、python用反斜杠(\)转义字符
转义字符 描述
\(在行尾时) 续行符
\\ 反斜杠符号
\' 单引号
\" 双引号
\a 响铃
\b 退格(Backspace)
\e 转义
\000 空
\n 换行
\v 纵向制表符
\t 横向制表符
\r 回车
\f 换页
\oyy 八进制数,yy代表的字符,例如:\o12代表换行
\xyy 十六进制数,yy代表的字符,例如:\x0a代表换行
\other 其它的字符以普通格式输出
1、原始字符串
使用r 表示原始字符串 如:(r'C:\Python\Python36\Scripts')
D、字符串格式化。
1、 % 格式化符
print('我叫 %s 今年 %d 岁!' % ('小明', 10)) #输出结果:
我叫 小明 今年 10 岁!
符 号 描述
%c 格式化字符及其ASCII码
%s 格式化字符串
%d 格式化整数
%u 格式化无符号整型
%o 格式化无符号八进制数
%x 格式化无符号十六进制数
%X 格式化无符号十六进制数(大写)
%f 格式化浮点数字,可指定小数点后的精度
%e 用科学计数法格式化浮点数
%E 作用同%e,用科学计数法格式化浮点数
%g %f和%e的简写
%G %f 和 %E 的简写
%p 用十六进制数格式化变量的地址
2、.format() 格式化 使用到 {}(大括号)
print('我叫 {} 今年 {} 岁!'.format('小明',10)) #输出结果:
我叫 小明 今年 10 岁!
E、字符串运算符 astr='Holle' 、bstr='Python'
1、+ 字符串连接 astr+bstr
cstr=astr+bstr print(cstr) #输出结果:
HollePython
2、* 重复输出字符串 astr*3
print(astr*3) #输出结果:
HolleHolleHolle
3、[] 通过索引获取字符串中字符 astr[0]
print(astr[0]) #输出结果:
H
4、[ : ] 截取字符串中的一部分 astr[1:4],从索收 1到4,不包含4
print(astr[1:4]) #输出结果:
oll
正向
反向
5、[::-1]反转字符串 (-1反向)
print(astr[::-1]) #输出结果:
elloH
6、判断
6.1、in 成员运算符 - 如果字符串中包含给定的字符返回 True
print('H'in astr) #输出结果:
True
6.2、not in 成员运算符 - 如果字符串中不包含给定的字符返回 True
print('H'not in astr) #输出结果:
False #-------------------------------- print('A'not in astr) #输出结果:
True
F、字符串内置函数
1、strip()用于移除字符串头尾指定的字符(默认为空格)另外还有 strip('需要移除的符号')
a=' $#$#holle python ' c=a.strip() d=c.strip('$#') print(c) print(d) #输出结果:
$#$#holle python
holle python
1.1 .lstrip() 移除左边空格
a=' lstrip '
print(a.lstrip()) #输出结果:
lstrip
1.2.rstrip()移除右边空格
a=' lstrip '
print(a.rstrip()) #输出结果:
lstrip
2、replace(x,y,z)替换字符,传入参数3个,前两个是必传,
第一个是要替换的原有子字符串,第二个是需要替换的新子字符串,第三个是最大的替换次数,不填写默认全部替换
dstr='我是小明,小明的小明'
print(dstr.replace('小明','小白')) print(dstr.replace('小明','小白',2))#传入第三个参数,最大替换2次
#输出结果:
我是小白,小白的小白 我是小白,小白的小明
3、index()、find() 查找字符串中是否包含子字符串并返回字符串索引位置
3.1、index()查找,找到则显示字符串所在的索引位置
aindex='我的名字叫小明'
print(aindex.index('名')) #输出结果:
2
3.2、index()如查找的不存在则报错
aindex='我的名字叫小明'
print(aindex.index('他')) #输出结果:
ValueError: substring not found
3.3、find()查找,找到则显示字符串所在的索引位置(默认从左边开始查找)
aindex='我的名字叫小x'
print(aindex.find('x')) #输出结果:
6
3.4、rfind()从右边开始查找,找到则显示字符串所在的索引位置
aindex='我的名字叫小x'
print(aindex.rfind('x')) #输出结果:
6
3.4、 find()与rfind()如查找不到则返回-1
aindex='我的名字叫小x'
print(aindex.find('s')) #输出结果:
-1
E、字符串比较
使用到operator需要导入 :from operator import lt ,le,gt,ge,eq
lt 相当于: < 、le 相当于:<= 、gt 相当于:> 、ge 相当于:>= 、eq 相当于:==
*这里例子用到字母比较,从26个字母a开始,最开始的a 是最小的,越往后越大。
ator='abc' btor='hij'
print(lt(ator,btor)) #输出结果:
True
print(le(ator,btor)) #输出结果:
True
print(gt(ator,btor)) #输出结果:
False
print(ge(ator,btor)) #输出结果:
False
print(eq(ator,btor)) #输出结果:
False
F、字符串字母转换
1、字母小写转大写 upper()
abi='abcde'
print(abi.upper())#字母小写转大写
#输出结果:
ABCDE
2、字母大写转小写 lower()
axi='ABCDE'
print(abi.lower())#字母大写变小写
#输出结果:
abcde
3、标题化--首字母大写 title()
axi='ABCDE'
print(axi.title())#标题化,首字母大写
#输出结果:
Abcde
4、大小写反转 --- 小写转大写,大写转小写 swapcase()
abx='aBcdEfGHijKL'
print(abx.swapcase()) #输出结果:
AbCDeFghIJkl
5、分割字符串并放入一个 list()内 ----- .split()
asp='a b c d e'
print(asp.split()) #输出结果:
['a', 'b', 'c', 'd', 'e']
5.1、.split(',') 分割,字符串并放入一个 list()内
aspb='a,b,c,d,e'
print(aspb.split()) #输出结果:
['a,b,c,d,e']
6、join()拼接字符串
ajo='abcd' bjo='$'.join(ajo)#使用$连接字符串
print(bjo) #输出结果:
a$b$c$d
7、字符串对齐 ljust() 、rjust() 、center()
ajust='python'
print(ajust.ljust(50,'-'))#向右以-补对齐50
#输出结果:
python--------------------------------------------
print(ajust.rjust(50,'-'))#向左以-对齐50
#输出结果:
--------------------------------------------python
print(ajust.center(50,'-'))#以- 50两向中间对齐
#输出结果:
----------------------python----------------------
8、判断字符开头与结尾字符 startswith()、endtswith()
asta='holle python'
print(asta.startswith('ho')) #判断以ho开头
#输出结果:
True
asta='holle python'
print(asta.endswith('on')) #判断以on结尾
#输出结果:
True
9、计算字符串中的子字符串出现几次 count()
acou='xi in xi cc bbi dd'
print(acou.count('xi'))#计算 xi 在acou中出现几次
#输出结果:
2
10、zfill() 返回指定长度的字符串,原字符串向右对齐,前面以0充。
ajust='python'
print(ajust.zfill(10)) #返回长度为10的字符串,向右对齐以0填充
#输出结果:
000000000python
#其它Python 的字符串常用内建函数点击查看》》》》》》》》》》