- index(),查找子串第一次出现的位置,未找到抛出ValueError
- rindex(),查找子串最后一次出现的位置,未找到抛出ValueError
- find(),查找子串第一次出现的位置,未找到返回-1
- rfind(),查找子串最后一次出现的位置,未找到返回-1
a='hellohello'
print(a.index('l'))
print(a.rindex('l'))
print(a.find('l'))
print(a.rfind('l'))
2
8
2
8
a='hellohello'
print(a.index('k'))
File “C:/Users/DELL/PycharmProjects/马Python/CSDN/格式化.py”, line 38, in
print(a.index(‘k’))
ValueError: substring not found
a='hellohello'
#print(a.index('k'))
print(a.find('k'))
大小写转换 *** 作-1
- upper()全部转为大写
- lower()全部转为小写
- title()每个单词首字母大写
- swapcase()大写转小写,小写转大写
- capitalize()第一个字符大写,其余都小写
a='hello,Python'
print(a.upper())
print(a.lower())
print(a.title())
print(a.swapcase())
print(a.capitalize())
内容对齐 *** 作HELLO,PYTHON
hello,python
Hello,Python
HELLO,pYTHON
Hello,python
- center(),居中对齐,第一个参数指定宽度,第二个参数指定填充符(默认是空格),如果设置宽度小于实际宽度则返回原字符串
- rjust(),右对齐,第一个参数指定宽度,第二个参数指定填充符(默认是空格),如果设置宽度小于实际宽度则返回原字符串
- ljust(),左对齐,第一个参数指定宽度,第二个参数指定填充符(默认是空格),如果设置宽度小于实际宽度则返回原字符串
- zfill(),右对齐,左边用0填充,只接受一个参数,如果设置宽度小于实际宽度则返回原字符串
a='python'
print(a.center(10,'*'))
print(a.center(10))
print(a.rjust(10,'*'))
print(a.ljust(10,'*'))
print(a.zfill(10))
print('-2022'.zfill(10))
劈分 *** 作python
python
python
python
0000python
-000002022
- split(),从字符串左边开始劈分,sep指定劈分符,默认劈分符是空格,maxsplit指定劈分次数,返回值为列表
- rsplit(),从右边开始劈分
a='hello java python'
print(a.split())
b='hello,java,python'
print(b.split(','))
print(b.split(sep=',',maxsplit=1))
print(b.rsplit(','))
print(b.rsplit(sep=',',maxsplit=1))
判断 *** 作[‘hello’, ‘java’, ‘python’]
[‘hello’, ‘java’, ‘python’]
[‘hello’, ‘java,python’]
[‘hello’, ‘java’, ‘python’]
[‘hello,java’, ‘python’]
- isidentifier()
判断指定的字符串是不是合法的标识符 - isspace()
判断指定的字符串是否全部由空白字符组成(回车、换行,水平制表符) - isalpha()
判断指定的字符串是否全部由字母组成 - isdecimal()
判断指定字符串是否全部由十进制的数字组成 - isnumeric()
判断指定的字符串是否全部由数字组成 - isalnum ()
判断指定字符串是否全部由字母和数字组成
a='hello%'
print('1',a.isidentifier())
b='hello'
print('2',b.isidentifier())
c=''
print('3',c.isspace())
d='hello'
e='中文'
print('4',d.isalpha())
print('5',e.isalpha())#isalpha会把汉字判断为字母,这是固定用法
f='12345'
print('6',f.isdecimal())
g='12345一二三'
print('7',g.isdecimal())
print('8',g.isnumeric())
h='123abc'
print('9',h.isalnum())
替换与合并 *** 作1 False
2 True
3 False
4 True
5 True
6 True
7 False
8 True
9 True
- 字符串的替换
replace() 第1个参数指定被替换的子串,第2个参数指定替换子串的字符串,该方法返回替换后得到字符串替换的字符串,替换前的字符串不发生变化,调用该方法时可以通过第3个参数指定最大替换次数 - 字符串的合并
join()
将列表或元组中的字符串合并成一个字符串
a='hello,python'
print(a.replace('python','java'))
aa='hello,python,python,python'
print(aa.replace('python','java',2))
print('*'.join(a))
s=['hello','world']
print('|'.join(s))
ss=('hello','world')
print('*'.join(ss))
hello,java
hello,java,java,python
hello*,python
hello|world
hello*world
字符串的比较 *** 作
- is比较的是地址,==比较的是内容
- 是对字符串当中的字符依次比较
a='apple'
b='banana'
print(a==b)
print(a>b)
print(a<b)
#先取a中的第一个字符'a'与b中的第一个字符'b'作比较,比较的是'a'与'b'的ASCII码值
print(ord('a'))
print(ord('b'))
#相反的,也可获得97,98对应的字符
print(chr(97))
print(chr(98))
False
False
True
97
98
a
b
字符串的切片 *** 作
- [start:stop:step]
- start默认为0,stop默认为末尾,step默认为1
- step为负值时逆序输出
a='hello,python'
print(a[0:5:1])
print(a[::])
print(a[::-1])
hello
hello,python
nohtyp,olleh
格式化字符串
- %占位符
- % s—>字符串
- %d/%i—>整数
- %f—>浮点数
- {}占位符
- f
name='张三'
age=19
print('1.','我的名字是%s,今年%d岁' % (name,age))
print('2.','我的名字是{0},今年{1}岁'.format(name,age))
print('3.',f'我的名字是{name},今年{age}岁')
- 我的名字是张三,今年19岁
- 我的名字是张三,今年19岁
- 我的名字是张三,今年19岁
- 宽度及精度
print('%10f' % 3.1415926)
print('%.2f' % 3.1415926)
print('%10.2f' % 3.1415926)
#{}作占位符
print('{0:.2}'.format(3.1415926))#表示2位数
print('{0:.2f}'.format(3.1415926))#表示2位小数
3.141593
3.14
3.14
3.1
3.14
字符串的编码解码
- 编码:将字符串转为二进制数(bytes)
- 解码:将bytes类型数据转为二进制类型
#编码
s='不知天上宫阙,今夕是何年'
print(s.encode(encoding='utf-8'))#一个中文占3个字节
print(s.encode(encoding='gbk'))#一个中文占2个字节
#解码
b=s.encode(encoding='utf-8')
print(b.decode(encoding='utf-8'))
b’\xe4\xb8\x8d\xe7\x9f\xa5\xe5\xa4\xa9\xe4\xb8\x8a\xe5\xae\xab\xe9\x98\x99,\xe4\xbb\x8a\xe5\xa4\x95\xe6\x98\xaf\xe4\xbd\x95\xe5\xb9\xb4’
b’\xb2\xbb\xd6\xaa\xcc\xec\xc9\xcf\xb9\xac\xe3\xda,\xbd\xf1\xcf\xa6\xca\xc7\xba\xce\xc4\xea’
不知天上宫阙,今夕是何年
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)