【循序渐进学Python】Python中的序列(一)——字符串

【循序渐进学Python】Python中的序列(一)——字符串

今天我们开始学习Python中的序列,在Python中序列分为字符串,列表,元组,字典,集合五类,今天我们先学习第一个"字符串".

字符串

  • 表示文本信息的一种形式

  • 排列有序的字符序列

  • 在非注释中,凡是用引号括起来的部分都是字符串

  • 用来保存字母,中文,还有符号.

  • 一个字符用’ '(单引号)

  • 多个字符用" "(双引号)

  • 保留文本格式的话用""" “”"(三引号)

字符串中如果出现了引号

  • 那么用另一种引号引起来就好"文本信息",‘文本信息’,’’‘文本信息’’’,""“文本信息”"".

格式:

变量名=字符串

案例:

a = "hello"
b = 'hello'
# 输出:
# hello
# 你好
# python
c = "hello\n你好\npython"
print(c)

下标索引:

作用:

通过下标索引获取一个字符串中的某个位置的字符

格式:

变量名=字符串[下标索引]

索引方式 从左到右: 从0开始 0,1,2,3… 想要从右到左 -1,-2,-3…

a = "world"
# 想要输出  world  中的"r"
# 方法一
ret1 = a[2]
# 方法二
ret2 = a[-3]
print(ret1, ret2)

索引异常

ret3 = a[8]
print(ret3)
# 异常输出 IndexError: string index out of range  超出范围,也就是常说的数组越界

切片

作用:

用来获取字符串中的某个字符或者是字符串子串(字符片段)

扫描二维码关注公众号,回复: 11551717 查看本文章

格式:

变量名 = 字符串[起始:结束:步长]

步长的正负可以控制方向 正数从左到右 负数从右到左

实例:

a = "abcdef"
ret1 = a[0:5:2]
print(ret1)
ret2 = a[1:4:2]
print(ret2)
ret3 = a[::-2]
print(ret3)
ret4 = a[2:-1]
print(ret4)
# 最后输出的结果是:
# ace
# bd
# fdb
# cde

转义字符

  • 字符串中一些不太好表示的符号,为了表示这些字符,需要用一些特殊的形式,称为转义,需要转义的符号,称为转义字符

转义字符:

  • 单引号:’

  • 双引号:"

  • 响铃:\a

  • 反斜杠:\

  • 换行:\n

  • 水平制表符:\t

  • 垂直制表:\v

  • 倒退:\b

  • 空字符串,字符串值为0:\0

  • Unicode 16位的十六进制数值:\uxxxx(注意;是四个数字)

  • Unicode 32位的十六进制值:\uxxxx xxxx(注意;后面是八个值)

  • 十六进制值:\xXX

  • 八进制值:\oXX

字符串中常用的方法:

a = "abcdefhadcrge"

# find  查找在这个字符在字符串中的位置
# 如果不为-1 就是获取到了第一次出现该字符的下标索引   结果为-1就是没有拿到
ret1 = a.find('a')
print(ret1)

# index  查找在这个字符在字符串中的位置  与find方法相似
# 如果不为-1 就是获取到了第一次出现该字符的下标索引
# 反之将报错  ValueError(查找的值超出索引范围): substring not found
ret2 = a.index('a')
print(ret2)

# count   计算在这个字符串中该字符有几个
ret3 = a.count('a')
print(ret3)

# replace   替换    replace('旧的值','新的值',替换个数)
# 替换只能替换数据  但是不能改变字符串的数据
# 因为字符串是不可变的数据类型
ret4 = a.replace('a', 'A', 3)
print(ret4)

# split   分割  切割    split('以这个字符为分割线',分割几个)
ret5 = a.split('c', 2)
print(ret5)

a = "abc bdeb fH.mp3"

# capitalize  将首字母大写
ret1 = a.capitalize()
print(ret1)

# title  将每段的首字母都大写
ret2 = a.title()
print(ret2)

# startswith  是否是以这个字符段进行开头  结果为:True或者Flase
ret3 = a.startswith('abc1')
print(ret3)

# endswith  是否是以这个字符段进行结尾   结果为:True或者Flase
ret4 = a.endswith('mp3')
print(ret4)

# lower     将所有的字符改为小写
ret5 = a.lower()
print(ret5)

# upper     将所有的字符改为大写
ret6 = a.upper()
print(ret6)

# tab  方便缩进
# ljust    将字符串左对齐用x将字符串补充至20个字符
ret7 = a.ljust(20, "x")
print(ret7)

# rjust    将字符串右对齐用x将字符串补充至20个字符
ret8 = a.rjust(20, 'o')
print(ret8)

# center
ret9 = a.center(20, ' ')
print(ret9)

# lstrip  截掉字符串左边的空格或指定字符
ret10 = a.lstrip("b")
print(ret10)

# rstrip  截掉字符串右边的空格或指定字符
ret11 = a.rstrip("abc")
print(ret11)

# strip   截掉字符串左右两边的空格或指定字符
ret12 = a.strip("abc")
print(ret12)

b = "abc\neb\nfbg"

# partition   把第一个该字符从字符串中分割出来
ret14 = b.partition("c")
print(ret14)
# 输出结果为: 'ab', 'c', '\neb\nfbg'

# rpartition
ret15 = b.rpartition("c")
print(ret15)

# rfind    
# find查找第一个出现的字符   rfind从右往左进行查找的第一个字符
ret17 = b.find('b')
print(ret17)
ret17 = b.rfind('b')
print(ret17)

猜你喜欢

转载自blog.csdn.net/XVJINHUA954/article/details/107681859
今日推荐