python中的字符串类型是str_一步一步学Python3(小学生也适用) 第九篇: 字符串(str)类型(中)...

​上一篇我们学习了Python 字符串的一些基础知识,由于在以后的编程项目中会经常用到对字符串的知识,所以这一篇我们将继续学习字符串的相关知识。

一、字符串的索引和切片

字符串是字符的有序集合,可以通过其位置来获得具体的元素。在Python中,字符串中的字符是通过索引来提取的。

Python中没有单独的字符类型,一个字符也字符串。

Python中字符串有两种索引方法:正序索引和倒序索引。

正序索引是从左往右对字符串中的字符进行索引,第一个字符的索引从0开始。

倒序索引是从右往左对字符串中的字符进行索引,最右边的字符的索引从-1开始。

下图为字符串 "Hello World" 正序索引和倒序索引

我们将以此字符串为例子展开我们对字符串索引及切片的实际操作。

1.1 字符串中单个字符的获取,可通过字符串如 str1[下标]获取

str1 = "Hello World"

print(str1[0]) #正序索引,获取左边第一个字符

print(str1[-1]) #反序索引,获取右边第一个字符

print(str1[2]) #正序索引,获取在边第三个字符(从0开始)

print(str1[-2]) #反序索引,获取右边第二个字符(从-1开始)

print(str1[5]) # 获取空格位

print(type(str1[5]))

运行结果:

H

d

l

r

运行截图:

1.2 字符串中连续多个字符的获取,可通过字符串如 str1[start:end]获取。

得到对应索引范围的元素,该范围包围起始端,不包含结尾端(左闭右开型)默认截取方向从左往右。

注意:反向索引时,也是左闭右开型

var1 = "Hello World"

print(var1[0:4])

print(var1[-4:-1])

print(var1[3:8])

运行结果:

Hell

orl

lo Wo

运行截图:

几种较特殊情况:

var1 = "Hello World"

print(var1[:]) #取整个字符串

print(var1[:4]) #取索引为4左边的字符串

print(var1[4:]) #从索引为4开始到最右边的字符串

print(var1[-4:]) #从索引为-4开始到最右边的字符串

print(var1[:-4]) #从索引为-4左边的字符串

运行结果:

Hello WorldHello WorldorldHello W

运行截图:

1.3 按步长获取间隔的字符串,语法为 str1[start:end:step](切片语法:[起始:结束:步长]) 按照step步长进行隔取;默认步长为1

var1 = "Hello World"

print(var1[::]) #取整个字符串

print(var1[::2]) #从0索引开始,每隔一个取一个值

print(var1[1:7:2]) #从1索引开始,每隔一个取一个值

print(var1[::-1]) #从右边开始取值,步长为1,把整个字符中取返

运行结果:

Hello World

HloWrd

el

dlroW olleH

运行截图:

字符串取值几个注意点:通过取单个字符时,索引值不能超过字符串的索引。如在"Hello World"中索引不能为11,和-12,否则会报错

var1 = "Hello World"

print(var1[11])

运行报错如下:

IndexError: string index out of range如果取多个字符时,索引超出字符串索引则能取得到值

var1 = "Hello World"

print(var1[0:13])

print(var1[-13:])

print(var1[-14::2])

运行结果:

Hello World

Hello World

HloWrd

运行截图:

字符串获取子字符串的内容就到这里,大家可以多练练手,熟悉一下。

二、字符串几个常用的方法

2.1 Python len() 方法计算字符串包含了多少个字符

var1 = "Hello World"

print(len(var1))

运行结果:

11 #表示有11个字符

注意:Python中一个空格算一个字符,几个空格算几个字符

2.2 Python split() 方法

用途:split() 通过指定的分隔符对字符串进行切片,如果第二个参数num有指定值,则分割为num+1个字符串语法:

str.split(str="",num=str.conunt(str))

参数:

str --分隔符,默认为所有的空字符,包括空格,换行,制品符等

num --分割字数。黑认为-1,即分隔所有

str1="Hello Python world"

print(str1.split()) #以空格为分隔符,分隔所有

print(str1.split("o")) #以"o"为分隔符,分隔所有

print(str1.split("o",-1)) #以"o"为分隔符,分隔所有

print(str1.split("o",0)) #以"o"为分隔符,使用o分隔0次

print(str1.split("o",1)) #以"o"为分隔符,使用o分隔1次

print(str1.split("o",2)) #以"o"为分隔符,使用o分隔2次

print(str1.split("o",4)) #以"o"为分隔符,使用o分隔4次

运行结果:

['Hello', 'Python', 'world']

['Hell', ' Pyth', 'n w', 'rld']

['Hell', ' Pyth', 'n w', 'rld']

['Hello Python world']

['Hell', ' Python world']

['Hell', ' Pyth', 'n world']

['Hell', ' Pyth', 'n w', 'rld']

运行截图:

结束语:这篇内容讲了Python字符串的子字符串的获取,是通过索引和切片进行的。

另外还讲了len()方法和split()方法。下一篇内容,我们将还是学习字符串(str)的其他一些方法。

原创不易,喜欢就给个赞,点个关注吧!

更多的内容可以关注公众号:老树Python

推荐阅读:

老树Python:一步一步学Python3(小学生也适用) 第八篇: 字符串(str)类型(上)​zhuanlan.zhihu.com老树Python:一步一步学Python3(小学生也适用) 第七篇: 小数/浮点数(float)类型​zhuanlan.zhihu.com老树Python:一步一步学Python3(小学生也适用) 第六篇: 变量及整数(int)类型​zhuanlan.zhihu.com老树Python:一步一步学Python3(小学生也适用) 第五篇: Python运算符​zhuanlan.zhihu.com

你可能感兴趣的:(python中的字符串类型是str_一步一步学Python3(小学生也适用) 第九篇: 字符串(str)类型(中)...)