[python学习笔记] String格式化
格式化
S % (args...) 方式
-
特点
str里的占位符同java里的占位符。 -
优势
这种方式可以限定格式化的时候接受的数据类型。 -
常见占位符
- %d 接收数字,格式化为 十进制
- %x 接收数字,格式化为 十六进制
- %f 接受数字。格式化为浮点数
- %.nf的方式可以指定 小数点有效位
- %.2f 保留两位小数点
- %s 接受任意类型,格式化为字符串。
-
范例
msg = '%s 回家吃饭,外边一碗面%.2f块钱,还有%x钱' print(msg%('旺财',10,255))
输出
旺财 回家吃饭,外边一碗面10.00块钱,还有0xff钱
S.format(args...)
-
位置参数
使用 {} 或者 {xx} 做占位符。
大括号的内容相当于占位符。
参数可以是索引,从0开始。 也可以是关键字注意,可以不加索引或关键字,但是不能混用。三种方式不能混用下边代码也正常运行
print('姓名 {},体重 {}'.format('狗蛋',120)) # 通过索引 可以使用多次 print('姓名 {0},体重 {1},再次体重{1}'.format('狗蛋',120)) # 通过关键字也可以使用多次 print('姓名{name} 体重{weight}, 再次体重{weight}'.format(name='狗蛋',weight=120)) # 混用报错 print('姓名 {0},体重 {}'.format('狗蛋',120)) # 错误
-
填充与对齐:这个超级炸
- 格式:
位置或关键字参数 : 补齐符号 对齐方式符号 字符个数 eg: {1:*^8} 位置或关键字参数: 1 代表位置。 分隔符: : 补齐符号: * 表示不足用*补齐。 如果没有,使用空格 对齐方式符号:^ 代表 字符个数: 8 格式化为8位
-
对齐符号
- ^ 居中对齐. 两侧补足
- < 左对齐。右侧补足
- > 右对齐。 左侧补足
-
示例
print('姓名 {:^4},体重 {}'.format('狗蛋',120))#姓名 狗蛋 ,体重 120 print('姓名 {0:-<4},体重 {1:_>8}'.format('狗蛋',120))#姓名 狗蛋--,体重 _____120 print('姓名 {name:*^4},体重 {age:#^8}'.format(name='狗蛋',age=120))#姓名 *狗蛋*,体重 ##120###
-
浮点数精度
- 格式
{位置或关键字:.nf}
- 范例
print('{0:.2f}'.format(12)) #12.0 print('{0:-<8.2f}'.format(12)) #对齐混合使用 12.00---
-
进制
- b 二进制
- o 八进制
- d 十进制
- x 十六进制
- 范例
print('{0:d}'.format(12)) #12 print('{:x}'.format(12)) #c print('{:#^8x}'.format(12)) #余对齐混合使用 ###c####
-
千分位
- 格式
{xx:,}
- 范例
print('{:,}'.format(1024567.3)) # 1,024,567.3 print('{:,.3f}'.format(1024567.3)) # 与精度混用: 1,024,567.300 print('{:+>16,.3f}'.format(1024567.3)) #与对齐混用: +++1,024,567.300