Python自学笔记————字符串

字符串

在python中字符串时基本数据类型,是一个不可变的字符序列


字符串的查询操作的方法

方法名称

                                           作用

index(substr)       查找子串中substr第一次出现的位置,如果查找的子串不存在时,则抛出ValueError
rindex(substr)       查找子串中substr最后一次出现的位置,如果查找的子串不存在时,则抛出ValueError
find(substr)      查找子串中substr第一次出现的位置,如果查找的子串不存在时,则返回-1
rfind(substr)      查找子串中substr第一次出现的位置,如果查找的子串不存在时,则返回-1

代码如下:

s='hello,world,hello,world'
print(s.index('llo'))
print(s.rindex('llo'))
print(s.find('ld'))
print(s.rfind('ld'))

运行结果:

2
14
9
21


字符串的大小写转换

方法名称                                                      作用
upper()                                  把字符串中所有字母转成大写
lower()                                  把字符串中所有字母转成小写
swapcase()                  把字符串中所有小写字母转成大写,所有大写字母转小写
capitalize()                          把第一个字符转大写,其余字符转小写
title()        把每个单词的第一个字符转为大写,把每个单词的剩余字符转小写

代码如下:

s='hello,WORLD'
print(s.upper())
print(s.lower())
print(s.swapcase())
print(s.capitalize())
print(s.title())

输出结果:

HELLO,WORLD
hello,world
HELLO,world
Hello,world
Hello,World


删除字符串的空白

方法名称                               作用
strip()                删除字符串两边的空白
rstrip()                删除字符串右边的空白
lstrip()                删除字符串左边的空白

字符串内容对齐

方法名称                                                          作用
center()       居中对齐,第一个参数指定宽度,第二个参数指定填充符,并且是可选的,默认为空格,如果设置宽度小于实际宽度则返回原字符
ljust()      左对齐,第一个参数指定宽度,第二个参数指定填充符,并且是可选的,默认为空格,如果设置宽度小于实际宽度则返回原字符
rjust()       右对齐,第一个参数指定宽度,第二个参数指定填充符,并且是可选的,默认为空格,如果设置宽度小于实际宽度则返回原字符
zfill()       右对齐,左边用0填充,该方法只接受一个参数,用于指定字符串的宽度,如果设置的宽度小于等于原字符串的长度,则返回字符本身

代码如下:

s='hello,WORLD'
print(s.center(19,"*"))
print(s.ljust(19,"*"))
print(s.rjust(19,"*"))
print(s.zfill(19))

运行结果:

 ****hello,WORLD****
hello,WORLD********
********hello,WORLD
00000000hello,WORLD


 字符串劈分操作

    方法名称                                                          作用
split()

        从字符串的左边开始劈分,默认的劈分字符是空格字符串,返回的是一个列表

        通过参数sep来指定劈分符

        通过参数maxsplit指定最大劈分次数,在经过最大劈分次数之后,剩余的子串会单独作为一部分

rsplit()

        从字符串的右边开始劈分,默认的劈分字符是空格字符串,返回的是一个列表

        通过参数sep来指定劈分符

        通过参数maxsplit指定最大劈分次数,在经过最大劈分次数之后,剩余的子串会单独作为一部分

代码如下:

s='hello,world,python,java'
print(s.split(maxsplit=2,sep=','))
s1='hello world python java'
print(s1.split())
#————————————————————————
s='hello,world,python,java'
print(s.rsplit(maxsplit=2,sep=','))
s1='hello world python java'
print(s1.rsplit())

运行结果:

['hello', 'world', 'python,java']
['hello', 'world', 'python', 'java']

['hello,world', 'python', 'java']
['hello', 'world', 'python', 'java']


判断字符串

方法名称                                                           作用
isidentifier()

判断指定字符串是不是合法的标识符(标识符是由字符、下划线和数字组成,但第一个字符不能是数字)

isspace()判断字符串是否全部由空白字符串组成(回车,换行,水平制表符)
isalpha()判断字符串是否全部由字母,字符构成
isdecimal()判断字符串是否全由十进制的数字构成(一,二,三……罗马数字皆为False)
isnumeric()

判断指定的字符串是否全部由数字构成(一,二,三……罗马数字皆为True)

isalnum()判断字符串是否全部由字母和数字组成

代码如下:

s='123456'
print(s.isidentifier())
s1='hello123456_abc'
print(s1.isidentifier())

#——————————————————————————————————
print('\t'.isspace())

#——————————————————————————————————
print('asdasda'.isalpha())

#——————————————————————————————————
print('23534675698'.isdecimal())

#——————————————————————————————————
print('123四Ⅴ'.isnumeric())

#——————————————————————————————————
print('asjfgy8923457'.isalnum())

运行结果:

False
True
True
True
True
True
True


 字符串的替换

方法名称                                                                 作用
replace()       第一个参数指定被替换的字符串,第二个参数指定替换字符串的子串的字符串,该方法返回替换后得到的字符串,替换前的字符串不再发生变化,调用该方法时可以通第三个参数指定最大替换次数

代码如下:

s='hello,hello,hello,world,python'
s1=s.replace('hello','你好',2)
print(s1)

运行结果:

你好,你好,hello,world,python


字符串的合并

方法名称                                               作用
join()将列表或元组中的字符串合并成一个字符串(列表中不能有其他数据类型)

代码如下:

lis=list(['1','2','3','4','5','6'])
print(' '.join(lis))

tup=tuple(('a','b','c','d','e'))
print('|'.join(tup))

运行结果:

1 2 3 4 5 6
a|b|c|d|e


字符串的切片

字符串是不可变类型,不具备增,删,改等操作,切片操作将产生新的对象

          方法名称                                               作用
newStr=oldStr [ a:b:c ]       从索引a开始,左闭右开,若不填写参数a,则默认从头开始,到索引为b-1的位置结束;若不填写参数b,则默认截取从a开始,到整个字符串结束。若不填写参数c,则默认步长为1.

代码如下:

s='hello,world'
#--------------
s1=s[1:7:]
print(s1)
#--------------
s2=s[1::]
print(s2)
#--------------
s3=s[:7:]
print(s3)
#--------------
s4=s[1:9:2]
print(s4)
#--------------
s5=s[::-1]
print(s5)
#--------------
s6=s[8::-1]
print(s6)

运行结果:

ello,w
ello,world
hello,w
el,o
dlrow,olleh
row,olleh 


格式化字符串

格式化字符串的三种方式:

1,使用%作为占位符

%s表示字符串,%i(或者%d)表示整数,%f表示浮点数

%xd:表示宽度为x

%.xf:表示小数点后x位

语法:‘adc%s,def%d’ % (实际值,实际值) 

2,使用{}作为占位符

语法:‘abc{},def{}’.format(实际值,实际值)

{:.x}:表示宽度为x

{:.xf}:表示保留x位小数

3,f字符串

语法f‘adc{实际值},def{实际值}’

代码如下

name='张三'
age=19
print('我叫%s,我今年%d'%(name,age))
print('我叫{},我今年{}'.format(name,age))
print(f'我叫{name},我今年{age}')
print('%10d'%1000)
print('%.3f'%3.1415926)
print('%10.3f'%3.1415926)
print('{:.2}'.format(3.1415926))
print('{:.2f}'.format(3.1415926))

运行结果

我叫张三,我今年19
我叫张三,我今年19
我叫张三,我今年19
      1000
3.142
     3.142
3.1
3.14

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值