首先我们先定义一个变量string
string = "Python"
如果我想取出上文中string变量里的y,应该怎么办?此时,就可以用到字符串索引
Python使用方括号 [] 来对字符串进行索引,我们这里来实验一下
在命令行输入
string = "Python"
print(string[2])
此时我们会发现,命令行输出的是't',也就是第三个字符。但是我们输入的索引数是2啊,所以我们不妨做个假设,是不是P的索引数为0呢?所以我在命令行输入
string = "Python"
print(string[0])
此时我们可以发现,输出的是P,所以我们要注意,Python的字符串索引是从0开始的
我突然有了新想法,如果输入索引数超过字符串个数会怎么样?
string = "Python"
print(string[6])
此时,他报错了
IndexError: string index out of range
#索引错误:字符串索引超过范围
此时我脑洞打开,负数会怎么样?于是我在命令行输入
string = "Python"
print(string[-1])
此时,输出为n,那么我有理由猜测,负数是正好倒过来的,再实验下
此时,输入-2,输出o,所以,负数索引就是倒过来的
在 Python 中,可使用切片从字符串中提取子串。要对字符串执行切片操作,可指定两个索引:要提取的第一个字符的索引;要提取的最后一个字符的索引加 1。例如:
用于切片的索引与用于访问各个字符的索引相同:第一个索引总是为零,而最后一个索引总是比字符串长度小 1。一般而言,string[begin:end]返回从索 引 begin 到 end-1 的子串。注意:如果 string 是一个字符串,则要访问索引 i 对应的字符,可使用 string[i] 或 string[i:i+1]。
如果想要省略字符串的起始索引,Python将假定为0;如果需要省略字符串的终止索引,Python 会假设你要提取到字符串末尾
在切片方法中,也可以设置步数
string = "Python"
print(string[1:4])
print(string[1:4:1])
print(string[1:4:2])
三种个命令输出的结果如下
从这里就可以看出,我设置步数为2时,是跳过一个字符的
字符串格式化是python中较为常用的用法
第一种为%形式
常用的只有 %s %d %f
用法如下
string = "小明"
age = 15
height= 170.2
print("姓名:%s \n年龄:%d \n身高: %f" % (string, age, height))
但这种形式的弊端就是顺序和对应的类型不能错
第二种为format形式
string = "小明"
age = 15
height = 170.2
print("姓名:{} \n年龄:{} \n身高: {}".format(string, age, height))
第三种是 f格式化
注意:此类格式化仅支持Python3.6及以上的版本
string = "小明"
age = 15
height = 170.2
print(f"姓名:{string}\n年龄:{age}\n身高:{height}")
以上是字符串格式化的最基本用法