0、今日笔记
在Python27中以及之后版本,新增了一种格式化字符串的函数,通过使用大括号 {} 和冒号 : 来实现以前的百分号 % 的写法。
1、默认按顺序填充,每个 {} 填充一个变量
hello = 'hello'
world = 'world'
hello_world = '{} {}'.format(hello, world) # 默认按顺序填充,每个 {} 填充一个变量
print(hello_world) # hello world
2、指定填充顺序, 0 表示第一个变量, 1 表示第二个变量, 以此类推
hello = 'hello'
world = 'world'
# 指定填充顺序, 0 表示第一个变量, 1 表示第二个变量, 以此类推
hello_world = '{0} {1}'.format(hello, world)
print(hello_world)
# 支持多个顺序写法
hello_world_hello = '{0} {1} {0}'.format(hello, world)
print(hello_world_hello)
3、指定 key 的填充方式
hello = 'hello'
world = 'world'
# 指定 key 的填充方式
hello_world = '{hello} {world}'.format(hello=hello, world=world)
print(hello_world)
# 指定 key 的填充方式, key 是随意的
hello_world = '{hello_string} {world_string}'.format(hello_string=hello, world_string=world)
print(hello_world)
4、保留N位小数
number = 10.123
# 保留两位小数
number_string = '{:.2f}'.format(number)
print(number_string)
# 保留三位小数
number_string = '{:.3f}'.format(number)
print(number_string)
# 保留四位小数
number_string = '{:.4f}'.format(number)
print(number_string)
number = -10.123
# 保留两位小数
number_string = '{:.2f}'.format(number)
print(number_string)
# 保留三位小数
number_string = '{:.3f}'.format(number)
print(number_string)
# 保留四位小数
number_string = '{:.4f}'.format(number)
print(number_string)
5、居中对齐,凑足N位,不足用指定字符填充
hello = 'hello'
# 居中对齐,凑足8位,不足用空格填充
hello = '{:^8}'.format(hello)
print(hello)
hello = 'hello'
# 居中对齐,凑足8位,不足用字母x填充
hello = '{:x^8}'.format(hello)
print(hello)
hello = 'hello'
# 居中对齐,凑足9位,不足用数字0填充
hello = '{:0^9}'.format(hello)
print(hello)
6、左对齐,凑足N位,不足用指定字符填充
hello = 'hello'
# 左对齐,凑足8位,不足用空格填充
hello = '{:<8}'.format(hello)
print(hello)
hello = 'hello'
# 左对齐,凑足8位,不足用字母x填充
hello = '{:x<8}'.format(hello)
print(hello)
hello = 'hello'
# 左对齐,凑足8位,不足用数字0填充
hello = '{:0<8}'.format(hello)
print(hello)
7、右对齐,凑足N位,不足用指定字符填充
hello = 'hello'
# 右对齐,凑足8位,不足用空格填充
hello = '{:>8}'.format(hello)
print(hello)
hello = 'hello'
# 右对齐,凑足8位,不足用字母x填充
hello = '{:x>8}'.format(hello)
print(hello)
hello = 'hello'
# 右对齐,凑足8位,不足用数字0填充
hello = '{:0>8}'.format(hello)
print(hello)
8、百分比显示,保留N位小数
number = 0.291
# 百分比显示, 默认保存6位小数
number = '{:%}'.format(number)
print(number)
number = 0.291
# 百分比显示, 保存2位小数
number = '{:.2%}'.format(number)
print(number)
number = 0.291
# 百分比显示, 保存3位小数
number = '{:.3%}'.format(number)
print(number)
9、指数显示,保留N位小数
number = 100000
# 指数形式显示, 默认保存6位小数
number = '{:e}'.format(number)
print(number)
number = 100000
# 指数形式显示, 保存2位小数
number = '{:.2e}'.format(number)
print(number)
number = 100000
# 指数形式显示, 保存3位小数
number = '{:.3e}'.format(number)
print(number)
10、进制显示
number = 10
# 二进制显示
number_string = '{:b}'.format(number)
print(number_string)
# 十进制显示
number_string = '{:d}'.format(number)
print(number_string)
# 八进制显示
number_string = '{:o}'.format(number)
print(number_string)
# 十六进制小字母显示
number_string = '{:x}'.format(number)
print(number_string)
# 十六进制大字母显示
number_string = '{:X}'.format(number)
print(number_string)
11、大括号转义大括号,原样显示大括号
hello = 'hello'
# 用大括号可以转义大括号
hello = '{},{{我只是个单纯的大括号}}'.format(hello)
print(hello)
12、字符串前面加入字母 f 也能进行格式化字符串
hello = 'hello'
world = 'world'
# 字符串前面加入字母 f 也能进行格式化字符串
hello_world = f'{hello} {world}'
print(hello_world)