字符串是我们常用的数据类型,也是不可变数据类型。任何操作获取的结果都是新生成的字符串,不会改变原来的字符串。下面是整理的关于字符串的一些基本操作。
-
切片规则
1,左闭右开。 取头不取尾。
2,字符串变量名[起始下标:终点下标:步长] 步长不写默认为1
3,步长为正,表示正序。步长为负,表示倒序。
以下操作使用的字符串:str1 = 'Hello Word, Today is a wonderful day - 获取字符串长度
length = len(str1)
print(length)
- 获取整个字符串
print(str1[::])
print(str1[::1])
- 倒序获取整个字符串
print(str1[::-1])
- 获取最后三个字符
print(str1[-3:])
- 获取最后一个字符
print(str1[-1])
print(str1[length - 1])
print(str1[9])
- 获取第2个到第5个字符,包括第5个
print(str1[1:6])
- 从第3个开始,每隔4个字符取一个字符
print(str1[2:length - 1:4])
- 全部转换为大写
print(str1.upper())
- 全部转换为小写
print(str1.lower())
-
查找(find):字符串变量.find(子字符串,从哪个下标开始找起)
注:如果找到了,返回的是起始下标,没找到返回-1
Today = str1.find('Today')
print(Today) # 结果返回 12,即是 T 的下标
a = str1.find('a', 16)
print(a) # 结果返回 21,从索引16 开始找,跳过了第一个 a
-
查找(index):字符串.index(字符串)
注: 找到了返回起始下标,未找到会报错
str1 = '123465'
print(str1.index('234')) #返回字符2的下标,结果是1
-
替换字符:符串变量.replace(旧的,新的,替换的次数[可选])
注:不写替换次数,则匹配到的所有都会替换,写了替换次数,则只替换指定次数的,且替换的值只能是字符串
str2 = str1.replace('a', 'A') # 所有小写的 a 都会替换成大写 A
str3 = str1.replace('a', 'A', 2) # 只替换前面两个a
print(str2, str3)
- input( )函数:用于和用户交互,接收任意性输入,将所有输入默认为字符串处理,并返回字符串类型。
price = input('请输入橘子的价格')
weight = input('请输入橘子的重量')
print(float(price) * float(weight)) # 这里接收的数字是字符串类型,需要转成浮点型再计算
运行结果
image.png
-
格式化输出(format函数):字符串.format(第一个值,第二个值,第三个值,...)
注: {}是占位符,替换占位符的时候可以是任意类型,但是值和位置必须是一一对应的
name = input('请输入你的姓名:')
gender = input('请输入你的性别:')
age = input('请输入你的年龄:')
info = '你的姓名是:{},性别:{},年龄:{}'.format(name, gender, age)
print(info)
运行结果
image.png
如果一个值对应两个替换符,可以在替换符里面加索引,从0开始
print('{0} * {0} = {1}'.format(8, 8*8)) # 返回 8 * 8 = 64
- 在字符串里显示小数点。 {:.2f} 表示显示小数点2位
print("{} * {} = {:.2f}".format(8.12, 6.22, 8.12 * 6.22)) #返回 50.51
- 在字符串里面显示百分比
info = '这次的考试通过率是{:.0%}'
print(info.format(0.67)) # 返回 67%
-
Python3.8版本新增 f表达式 来格式化输出
注: {}是占位符,替换占位符的时候可以是任意类型
print(f"{8} * {8} = {8*8}") # 返回 8 * 8 = 64
- format() 函数 和 f 表达式的对比
num1 = 11.3
num2 = 22.3
res = num1 * num2
print(f'{num1} * {num2} = {res:.2f}')
print('{} * {} = {:.2f}'.format(num1, num2, res))
运行结果
image.png
后续会继续补充









网友评论