python字符串操作【python保姆级-基础第五天】

什么是字符串呢

被引号包裹的一切内容都是字符串,在python中,中文英文等句子需要由引号包裹,否则会报错
例如:

'被单引号包裹的字符串' 
"被双引号包裹的字符串"  
'''被三个单引号包裹的字符串'''
"""三个双引号包裹的字符串"""
句子无引号会报错
关于三个引号
三引号包裹的内容是字符串
三引号也可以作为多行注释(在上一篇文章我们提到过)
字符串索引(也叫下标)【重要,需要记住】

字符串是有顺序的,由左向右从0开始,我们可以通过顺序取值

str1 = 'abcdefg'# 定义一个字符串变量,内容是'abcdefg'
print(str1[0])# 输出a  因为a是第一个,他的索引是0
print(str1[2])# 输出c  因为c是第三个,他的索引是2
print(str1[6])# 输出g  因为g是第七个,他的索引是6
print(str1[-1])# 输出g 因为g是最后一个,他的索引可以由-1表示,其他的也可以通过负值取

字符串操作

字符串切片

切片方式:‘字符串’[开始索引:结束索引:步长]
注意:切片是左闭右开区间,左闭右开区间这个概念我们在上高中时有学过,
就是左侧的值可以取到,右侧的值只能取到比他小一位的数

切片基础操作

str1 = 'abcdefg'# 定义一个字符串变量,内容是'abcdefg'
print(str1)# 输出abcdefg
print(str1[0:2])# 输出ab  a的下标是0,b的下标是1,由于是左闭右开区间,所以2取不到
print(str1[0:4:2])# 输出ac 
# [0:4:2]解释:以步长为2的方式取0到3的值,所以只取到了下标0和2。  0下标对应的值是a,2对应的值是c,所以输出ac

切片高级操作

str1 = 'abcdefg'# 定义一个字符串变量,内容是'abcdefg'
print(str1[:])# 输出abcdefg  默认输出0到结尾
print(str1[::])# 输出abcdefg 默认输出0到结尾,步长1
print(str1[::-1])# 输出gfedcba 默认输出0到结尾,但是步长是-1 所以逆序了
print(str1[::-2])# 输出geca 逆序输出结尾到0,步长2
print(str1[2:-1])# 输出cdef 没有输出g是因为左闭右开区间
print(str1[2::])# 输出cdefg 不过多解释,这个是为了和下面做比较
print(str1[2::-1])# 输出cba 因为-1所以先进行逆序,然后2:: 代表从2取到0,所以输出cba
字符串拼接

+加号拼接

str1 = '字符串'
str2 = '拼接'
print(str1+str2)# 输出字符串拼接

f-string拼接

格式:f’’
解释:会解析{}内的变量

str1 = '字符串'
str2 = '拼接'
str_f = f'拼接:{str1}{str2}'
print(str_f)# 输出拼接:字符串拼接   解释:因为解析{}内的str1和str2,  其中字符串'拼接:'原样输出
字符串重复 *
str1 = '字符串重复,'
print(str1*3)# 输出字符串重复,字符串重复,符串重复,
字符串整体转大写 upper()
str1 = 'abc'
print(str1.upper())# 输出ABC
字符串整体转小写 lower()
str1 = 'ABC'
print(str1.lower())# 输出abc
每个单词首字母大写 title()
str1 = 'aa bb cc'
print(str1.title())# 输出Aa Bb Cc
字符串首字母大写 capitalize()
str1 = 'aa bb cc'
print(str1.capitalize())# 输出Aa bb cc
去除两端空格 strip()
str1 = ' a b c '
# strip去除两端空格(并不能去除中间空格,去除所有空格可以使用replace)
print(str1.strip())# 输出'a b c'
# lstrip去除左侧空格 l就是left(左)的首字母
print(str1.lstrip())# 输出'a b c '
# rstrip去除右侧空格 r就是right(右)的首字母
print(str1.rstrip())# 输出' a b c'
替换内容 replace()

格式:‘字符串’.replace(‘旧内容’,‘新内容’,‘替换次数’)

str1 = ' a b c '
print(str1.replace(' ', ''))# 输出'abc'
print(str1.replace(' ', '', 2))# 输出'ab c '
print(str1.replace('a', 'A'))# 输出' A b c '
字符串中是否只包含数字 isnumeric()

如果字符串中只包含数字字符,则返回 True,否则返回 False。

str1 = 'string'
print(str1.isnumeric())# 输出False
str1 = '123'
print(str1.isnumeric())# 输出True
str1 = 'string123'
print(str1.isnumeric())# 输出False
指定内容在字符串中出现的次数 isnumeric()
str1 = 'hello'.count('o')# 输出1
print(str1)
str1 = 'hello'.count('oo')# 输出0
print(str1)
指定内容是否包含在字符串中 find()

如果是返回开始的索引值,否则返回-1

s = 'string'
idx = s.find('t')
print(idx)# 输出1
s = 'string'
idx = s.find('tt')
print(idx)# 输出-1
指定内容是否包含在字符串中 index()

如果是返回开始的索引值,否则报错

s = 'string'
idx = s.index('t')
print(idx)# 输出1
s = 'string'
idx = s.index('tt')# 报错
字符串是否是以指定内容开头 startswith()

是返回True,否则返回 False

s = 'python'
print(s.startswith('p'))# 输出True
字符串是否是以指定内容结尾endswith()

是返回True,否则返回 False

s = 'python'
print(s.endswith('on'))# 输出True
字符串前面填充零 zfill()

返回指定长度的字符串,原字符串右对齐,长度不足则前面填充0

s = '11'.zfill(5)
print(s)# 输出00011
s = '-11'.zfill(5)
print(s)# 输出-0011
s = '+11'.zfill(5)
print(s)# 输出+0011
s = '11'.zfill(2)
print(s)# 输出11(因为填充长度为2)
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值