Python的字符串索引、切片与格式化

字符串索引

首先我们先定义一个变量string

string = "Python"

如果我想取出上文中string变量里的y,应该怎么办?此时,就可以用到字符串索引

Python使用方括号 [] 来对字符串进行索引,我们这里来实验一下

正向索引

在命令行输入

string = "Python"
print(string[2])

Python的字符串索引、切片与格式化_第1张图片

此时我们会发现,命令行输出的是't',也就是第三个字符。但是我们输入的索引数是2啊,所以我们不妨做个假设,是不是P的索引数为0呢?所以我在命令行输入

string = "Python"
print(string[0])

Python的字符串索引、切片与格式化_第2张图片

此时我们可以发现,输出的是P,所以我们要注意,Python的字符串索引是从0开始的

范围报错

我突然有了新想法,如果输入索引数超过字符串个数会怎么样?

string = "Python"
print(string[6])

Python的字符串索引、切片与格式化_第3张图片

此时,他报错了

IndexError: string index out of range
#索引错误:字符串索引超过范围

反向索引

此时我脑洞打开,负数会怎么样?于是我在命令行输入

string = "Python"
print(string[-1])

Python的字符串索引、切片与格式化_第4张图片

此时,输出为n,那么我有理由猜测,负数是正好倒过来的,再实验下 

Python的字符串索引、切片与格式化_第5张图片

此时,输入-2,输出o,所以,负数索引就是倒过来的 

字符串切片

在 Python 中,可使用切片从字符串中提取子串。要对字符串执行切片操作,可指定两个索引:要提取的第一个字符的索引;要提取的最后一个字符的索引加 1。例如:

Python的字符串索引、切片与格式化_第6张图片

用于切片的索引与用于访问各个字符的索引相同:第一个索引总是为零,而最后一个索引总是比字符串长度小 1。一般而言,string[begin:end]返回从索 引 begin 到 end-1 的子串。注意:如果 string 是一个字符串,则要访问索引 i 对应的字符,可使用 string[i] 或 string[i:i+1]。

切片方法 

如果想要省略字符串的起始索引,Python将假定为0;如果需要省略字符串的终止索引,Python 会假设你要提取到字符串末尾

Python的字符串索引、切片与格式化_第7张图片

 在切片方法中,也可以设置步数

string = "Python"
print(string[1:4])
print(string[1:4:1])
print(string[1:4:2])

三种个命令输出的结果如下

Python的字符串索引、切片与格式化_第8张图片

从这里就可以看出,我设置步数为2时,是跳过一个字符的

字符串格式化

 字符串格式化是python中较为常用的用法

第一种为%形式

Python的字符串索引、切片与格式化_第9张图片

常用的只有 %s %d %f

用法如下

string = "小明"
age = 15
height= 170.2
print("姓名:%s \n年龄:%d \n身高: %f" % (string, age, height))

 Python的字符串索引、切片与格式化_第10张图片

但这种形式的弊端就是顺序和对应的类型不能错 

第二种为format形式

string = "小明"
age = 15
height = 170.2
print("姓名:{} \n年龄:{} \n身高: {}".format(string, age, height))

Python的字符串索引、切片与格式化_第11张图片 

第三种是 f格式化

注意:此类格式化仅支持Python3.6及以上的版本 

string = "小明"
age = 15
height = 170.2
print(f"姓名:{string}\n年龄:{age}\n身高:{height}")

Python的字符串索引、切片与格式化_第12张图片 

 以上是字符串格式化的最基本用法

你可能感兴趣的:(基础,python,开发语言)