python快速入门-3-字符串

一、字符串

双引号或者单引号中的数据,就是字符串

a=1#数字类型
b="abcdef"#字符串类型
b='abcdef'#字符串类型

字符串的下标
相比于c语言 Python的字符串下标多了“-”值
比如

b[1]=a,b[2]=b
b[-1]=f,b[-2]=e

注意!!!

如果从左侧开始编号,那么下标从 0 开始
如果从右侧开始编号,那么下标从-1开始,而不是0开始

二、字符串切片

切片是指对操作的对象截取其中一部分的操作,有一个字符串"abcdef",我们可以通过切片取到"cde"

语法

[起始:结束:步长]

name = 'abcdef'
b=name[0:3]# 取下标为0、1、2的字符,注意取不到下标为3的空间
print(b)

print(name[:3]) # 取下标为0、1、2的字符,注意取不到下标为3的空间

print(name[3:5]) # 取 下标为3、4 的字符

print(name[2:]) # 取 下标为2开始到最后的字符

print(name[1:-1])# 取 下标为1开始 到 右侧第2个字符 之间的所有字符

print(name[0:-1])# 取 下标为0开始 到 右侧第1个字符 之间的所有字符

print(name[1:5:2])#2代表步进 1,5为起点和停止,不包含5

print(name[1:5:1])#1代表步进 1,5为起点和停止,不包含5

print(name[5:1:-1])#-1代表步进 5,1为起点和停止,不包含1

print(name[5:1:-2])#-1代表步进 5,1为起点和停止,不包含1 所以到不了b

print(name[::1])#起点取到终点(包含),步进为1

print(name[::])#起点取到终点(包含),默认步进为1

print(name[::-1])#开始位置、结束位置都未指定,步长为-1,此时从最右取到最左

print(name[::-2])#开始位置、结束位置都未指定,步长为-2,此时从最右取到最左

abc
abc
de
cdef
bcde
abcde
bd
bcde
fedc
fd
abcdef
abcdef
fedcba
fdb

1、选取的区间从"起始"位开
始,到"结束"位的前一位结束(不包含结束位本身),步长表示选取间隔
2、默认“步长”为1,即取完一个下标的数据之后,第二个下标的是在刚刚下标基础上+1
3、步长为正数,表示从左向右取数据
4、步长为负数,表示从右向左取数据

切片使用规则中,要么一个冒号[开始位置:结束位置],要么两个冒号[开始位置:结束位置:步长]
1、不写步长时,默认为1
2、步长为正数,表示从左向右取数据
3、步长为负数,表示从右向左取数据
4、当开始位置、结束位置都没有设定时,要看步长,如果步长为正数此时开始位置理解为最左 结束位置为最右,如果步长为负数此时开始位置理解为最右 结束位置为最左

三、字符串常见操作

  • [1 ] find–查找

检测str是否包含在 my_str中,如果是返回开始的索引值,否则返回-1

  • [2 ] rfind–查找

类似于 find()函数,不过是从右边开始查找

names = "asdasdasdasd"
str = "da"
print(names.find(str))
print(names.rfind("da"))
print(names.find("ds"))

>>>
>2
8
-1
  • [3 ] count

返回 str在start和end之间在 my_str里面出现的次数

names = "asdasdasdasd"
str = "da"
print(names.count(str))

>>>
3
  • [4 ] replace替换

把 my_str 中的 str1 替换成 str2,如果 count 指定,则替换不超过 count 次

names = "asdasdasdasd"
a=names.replace("da","xx",2)
print(names)
print(a)

>>>
asdasdasdasd
asxxsxxsdasd
  • [5 ] split

以 str 为分隔符切片 my_str,如果 maxsplit有指定值,则仅分隔 maxsplit 个子字符串

names = "asdasdasdasdasasas"
a=names.split("a",4)
print(names)
print(a)

>>>
asdasdasdasdasasas
['', 'sd', 'sd', 'sd', 'sdasasas']
  • [6 ] startswith

检查字符串是否是以 hello 开头, 是则返回 True,否则返回 False

names = "asdasdasdasdasasas"
a=names.startswith("a")
b=names.startswith("s")
print(names)
print(a)
print(b)

>>>
asdasdasdasdasasas
True
False
  • [7 ] endswith

检查字符串是否以obj结束,如果是返回True,否则返回 False.

names = "asdasdasdasdasasas"
a=names.endswith("a")
b=names.endswith("s")
print(names)
print(a)
print(b)

>>>
asdasdasdasdasasas
False
True
  • [8 ] lower

转换 my_str 中所有大写字符为小写

names = "ASDasdasdasdasasas"
a=names.lower()
print(names)
print(a)

>>>
ASDasdasdasdasasas
asdasdasdasdasas
  • [9 ] upper

转换 my_str 中所有小写字母为大写

names = "ASDasdasdasdasasas"
a=names.upper()
print(names)
print(a)

>>>
ASDasdasdasdasasas
ASDASDASDASDASASAS
  • [10] strip

删除字符串两端的空白字符

names = "   ASDasdasdasdasasas   "
a=names.strip()
print(names)
print(a)

>>>
   ASDasdasdasdasasas   
ASDasdasdasdasasas
  • [ 11] partition

把my_str以str分割成三部分,str前,str和str后

names = "ASDasdasdasdasasas"
a=names.partition("as")
print(names)
print(a)

>>>
ASDasdasdasdasasas
('ASD', 'as', 'dasdasdasasas')#元组
  • [12 ] splitlines

按照行分隔,返回一个包含各行作为元素的列表

names ="""ASDas
dasdasdasa
sas"""

a=names.splitlines()
print(names)
print(a)

>>>
ASDas
dasdasdasa
sas
['ASDas', 'dasdasdasa', 'sas']
  • [ 13] isalpha

如果 my_str 所有字符都是字母 则返回 True,否则返回 False

names ="ASDasdasdasdasasas"
a=names.isalpha()
print(names)
print(a)

>>>
ASDasdasdasdasasas
True
  • [ 14] isdigit

如果 my_str 只包含数字则返回 True 否则返回 False.

names ="ASDasdasdasdasasas"
a=names.isdigit()
print(names)
print(a)

>>>
ASDasdasdasdasasas
False
  • [ 15] isalnum

如果 my_str 所有字符都是字母或数字则返回 True,否则返回 False

names ="ASDasdasdasdasasas"
a=names.isalnum()
print(names)
print(a)

>>>
ASDasdasdasdasasas
True
  • [ 16] join

my_str 中每个元素后面插入str,构造出一个新的字符串

names ="abc"
datas ="xyz"
a=datas.join(names)
print(names)
print(a)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值