4.Python字符串的常用操作

一、字符串的索引(切片)

索引的定义

索引是字符的序列,单个字符在字符串中的位置用索引来表示

索引从0开始,是所在位置离序列开头的偏移量

索引的作用

可以通过索引获取对应位置的元素

索引的使用

获取单个元素

s[index] 代表从字符串s中,获取索引为index的字符

a='hello,world!'
print(a[2]) #l
print(a[-1]) #!

获取多个元素

语法格式:[start:stop:step] start为开始索引,stop-1为结束索引,step为步长 切片的范围:[start,stop) start默认为0,stop默认为-1,step默认为1,均可省略不写,当step省略时,最后一个冒号可以不写,start和stop同时省略时,切片范围为列表所有数据,如[::-1]则表示倒序显示该列表 step为正数时:从start开始,每隔step-1向左取一个元素 step为负数时:从stop开始切片,到start-1结束,每隔step-1向右取一个元素,且开始索引一定要在结束索引的左边,否则切取内容为空

s='0123456789'
print(s[1:3])  #12 从索引1到索引2的值,切片范围[1,3)
print(s[-3:-1]) #78 从索引-3到索引-2的值,切片范围[-3,-1)
print(s[:2]) #01   当从头开始切,start可以省略,切片范围[0:2)
print(s[5:]) #56789   当切到结尾,end可以省略,切片范围[5:9]
print(s[:])  #0123456789  显示字符串所有内容
print(s[::3]) #0369  切片范围为所有字符串,每三个取一个值
print(s[1:7:2])   #135 切片范围[1:7),每两个取一个值
#当步长为负数的时候,开始索引一定要在结束索引的左边,否则切取内容为空
print(s[7:5:-1])  #76 切片范围(5:7],从左向右取值
print(s[-1:-3:-1]) #98 切片范围(-3:-1],从左向右取值
print(s[-1:-7:-2]) #975 切片范围(-7:-1],从左向右每两个取一个值
print(s[::-1])   #9876543210  从左向右显示字符串所有内容

二、字符串的拼接

定义

把几个字符串首尾拼接到一起

实现拼接

  1. 使用"+"运算符把字符串拼接到一起

    s1='hello,'
    s2='world!'
    print(s1+s2)  #hello,world!
  1. 使用"*"运算符可以重复字符串

    s='test'
    print(s*2)  #testtest  其中2可以为其他数字,表示循环次数

三、转义符的使用

定义

反斜杠”\“+想要实现的转义功能首字母

作用

表示字符串中的回车、换行等内容

使用反斜杠”\“表示转义符,通过\和某些特殊字符组合表示特殊含义的字符

常用转义符

  • 转移字符描述
    \(在行尾时)续行符
    \\反斜杠符号
    \'单引号
    \"双引号
    \a响铃
    \b退格(删除\b之前一个字符)
    \e转义
    \000
    \n换行
    \r回车(覆盖上一行内容)
    \t水平制表符(四个空格)
print('hello\\world')  #hello\world
print('hello\'world')  #hello'world

补充

若希望字符串中的转义字符不起作用,就使用原字符,在字符串之前加上r,R

print(r'hello\nworld') 

注意事项,最后一个字符不能是一个反斜杠

print(r'hello\nworld\') #报错 print(r'hello\nworld\\')

四、字符串的格式化操作

%作占位符

  1. %s 字符串

  2. %i或%d 整数

  3. %f 浮点数

name='张三'
age=27
score=65.7
print('my name is %s,my age is %i,my score is %f'%(name,age,score))
​
#宽度和精度的表示
print('%10d'%99)         #10表示总宽度
print('%.3f'%3.1415926)  #.3表示小数点后位数
#同时表示宽度和精度
print('%10.3f'%3.1415926)  #总宽度为10,小数点后3位

{}占位符

name='张三'
age=27
score=65.7
print('my name is {},my age is {},my score is {}'.format(name,age,score))
​
print('{0:3}'.format(3.1415926))  #0为占位符顺序,当值为0时可省略不写,3表示数一共是三位数
print('{:3f}'.format(3.1415926))  #3f表示3位小数
print('{:10.3f}'.format(3.1415926))   #同时设置宽度和精度,一共是10位,3位是小数

f-string作占位符

name='张三'
age=27
score=65.7
print(f'my name is {name},my age is {age},my score is {score}')
​
#可以包含运算和函数的字符串
ptint(f'{age+1}')   #28 
print(f'{name[::-1]}')  #三张

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值