Python基础--字符串(二)
Python基础–字符串(二)
前言
请确保你已经有一定的Python
基础且对字符串有一定了解哦,今天我们依旧来探索字符串的秘密,发车了(是因为笔者太懒才没有一次性写完的),完全不了解的小伙伴们也不用慌,移步Python基础--字符串(一)
格式化字符串
%
传统式
- 你是否看过这些特殊的字符串
%s
,%d
呢,相信写过C语言的同学们一定不陌生了,如果没见过也没关系,他们都是一类特殊的字符串,我们称之为格式化字符串,常用于格式化我们的输出,那么我们就从最传统的%
式格式化字符串讲解吧
常用的格式化字符串
%s
- 适用于为字符串占位,
我本来就是啊
- 适用于为字符串占位,
%d
- 适用于为十进制数字占位,类似的还有
%x
%o
%b
- 适用于为十进制数字占位,类似的还有
%f
- 适用于为浮点数占位
.precision
- 适用于对浮点数精度控制,
%.2f
保留两位小数,默认是6位小数
- 适用于对浮点数精度控制,
width
- 指定占位符占据的宽度,
%5d
十进制整数至少占5个单位,不够补充
- 指定占位符占据的宽度,
flags
- 指定填充位与对齐,与
width
位共同控制对齐问题 0
,补充前导0-
,左对齐,默认是右对齐,将覆盖前导0+
,数字补齐符号
- 指定填充位与对齐,与
- 可以搭配使用,例如
%-5.2f
等等
print("% d %+d" % (1234, 1234)) |
1234 +1234
-1234 -1234
12, 34, 3.10
12 ,34 ,3.10
0012,0234,003.10
12 ,234 ,3.10
format
默认格式化
- 不再通过
%
的形式指定,而是默认形式填充,我们只需要负责哪些位置填充什么字符即可 - 大括号中默认格式填入我们指定的参数,默认顺序是依次填入
"{} {}".format(12, "setdown")
- 有需求可以在大括号中填入参数位置,可以多次使用,每个大括号都要填入位置
"{0} {1} {1} {0}".format(12, "setdown")
"{0} {1}".format(12, "setdown")
- 利用键值对传入参数,则括号中必须使用key值
"{name} {age}".format(name="setdown", age=12)
"{name} {age} {age} {name}".format(name="setdown", age=12)
- 利用键值对和位置进行复杂传参
"{0[name]} {1[age]} {0[0]} {1[1]}".format({"name":"setdown", "age":12}, [12, 34])
format_spec
- 通过类似于
%
传统式格式化字符串规范要求 :[[fill] align][sign][0][width][.precision][type]
fill
- 填充内容,对于指定宽度填充什么字符,需要显式指定对齐方式
align
- 对齐方式,
<
^
>
分别是强制左、居中、右对齐
- 对齐方式,
sign
- 展示符号,
+
正负数都展示符号,
- 展示符号,
width
- 最小宽度,默认为字符串长度
precision
- 控制小数的精度范围,默认是小数点后六位
type
- 常用类型有
d
f
s
- 常用类型有
print("{:_<4} {:0>6} {:$^10}".format(1, 2, 11)) |
1___ 000002 $$$$11$$$$
0012 3 34
f-string
- 可以通过变量等方式直接转义进入字符串,经常使用,但是也可以使用
format_spec
来表达更加准确的字符串形式 - 简易使用方式为
f"{name} is about {value}"
- 使用占位的变量可以与
format_spec
嵌套使用更加灵活
line = "this is a test string" |
line= 'this is a test string'
a=3
__123.34000___
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Trash Bin for Chi!
评论