目录
1.在python中,字符串的格式化方式与C语言中一样,用%实现,如:
PS:%s表示字符串,%d表示整数,%f表示浮点数,%%表示%,.2表示只保留小数点后两位,02表示总位数为2,缺的地方用0补,下同。
前言:
上一篇讲过了字符串的基本概念以及与其他基础数据类型之间的转换:
菜鸟教程-3:python基础数据类型及其之间的转换-CSDN博客
这篇来讲一讲字符串的格式化和切片。
一、字符串格式化
>给一些字符串和数据用来格式化字符串
strs = "尊敬的xxx,您好,您本月共消费xxx元,打倒了xx%的用户,您在消费xxx元即可获得vip资格。xxxx年xx月xx日。"
name = "a"
cost = 88.888
percent = 99
cost_next = 11.122
y = 2024
m = 7
d = 9
1.在python中,字符串的格式化方式与C语言中一样,用%实现,如:
# %s %d %f
strs1 = "尊敬的%s,您好,您本月共消费%.2f元,打倒了%d%%的用户,您在消费%.2f元即可获得vip资格。%d年%02d月%02d日。"
print(strs1 % (name, cost, percent, cost_next, y, m, d))
输出结果为:
尊敬的a,您好,您本月共消费88.89元,打倒了99%的用户,您在消费11.12元即可获得vip资格。2024年07月09日。
PS:%s表示字符串,%d表示整数,%f表示浮点数,%%表示%,.2表示只保留小数点后两位,02表示总位数为2,缺的地方用0补,下同。
2.目前最主流的写法:
name = "a"
cost = 88.888
percent = 99
cost_next = 11.122
y = 2024
m = 7
d = 9
strs2 = f"尊敬的{name},您好,您本月共消费{cost:06.2f}元,打倒了{percent}%的用户,您在消费{cost_next:.2f}元即可获得vip资格。{y}年{m:02}月{d:02}日。"
print(strs2)
输出结果为:
尊敬的a,您好,您本月共消费088.89元,打倒了99%的用户,您在消费11.12元即可获得vip资格。2024年07月09日。
3. 字符串的format()方法也可以用来格式化字符串:
name = "a"
cost = 88.888
percent = 99
cost_next = 11.122
y = 2024
m = 7
d = 9
strs3 = "尊敬的{},您好,您本月共消费{:06.2f}元,打倒了{}%的用户,您在消费{:.2f}元即可获得vip资格。{}年{:02}月{:02}日。"
print(strs3.format(name, cost, percent, cost_next, y, m, d))
输出结果为:
尊敬的a,您好,您本月共消费088.89元,打倒了99%的用户,您在消费11.12元即可获得vip资格。2024年07月09日。
与第二种方法基本相同,但第二种更加简洁,所以这种方法了解即可,目前主流的是第二种方法。
二、字符串的切片
>使用这样一串字符串进行操作
strs = " 你好-我好-大家好 helloworld BBQ "
1.正数时的切片:
字符串,列表,元组这类有下标的都称为序列。字符串的下标从0开始(默认),若反向则从-1开始。
# 字符串切片 步长默认值是1
# [start:end:step)
print(strs[0])
print(strs[1])
print(strs[7:10])
print(strs[0:10:2])
print(strs[::2])
输出结果为:[]中的三个参数分别为开始位置,结束位置和步长,参数均可有正有负,看读取字符串时的顺序
你
大家好
好我-家
好我-家 elwrdBQ
2.负数时的切片:
strs = " 你好-我好-大家好 helloworld BBQ "
print(strs[-1])
print(strs[-2])
print(strs[-5:-2])
print(strs[-5:])
print(strs[::-1])
反向输出时的结果:使用负数时更要注意开始位置,结束位置和步长,如此段代码中的[-5:-2]和[-5:] 都是从左往右,而[::-1]则是从右往左,所以步长的正负也能控制切片的方向。
Q
BB
BBQ
QBB dlrowolleh 好家大-好我-好你