1. % 格式化—普通格式化
name = 'Jack'
age = 14
print('He is %s' % name)
print('He is %s' % "Jack")
print("%s,he is %d years old" % (name, age))
print("%s,he is %d years old" % ('jcy', 14))
注意: %d–十进制, %f–默认6位小数 , %0x 16进制
2. 格式化—对齐,补位 (整数&字符串)
1) ** 指定长度打印----数值和字符串一样的------%**
%10d 右对齐 ,不足10位左边补空格
%-10d 左对齐 ,不足10位右边补空格;
%010d 不足10位,左侧补0
字符串也同数值:
%10s 右对齐 ,不足左边补空格
%-10s 左对齐 ,不足右边补空格
例题1: 薪资表格式化打印:
A = [["Alice", 1000], ["Bob", 20000]]
print("%10s的工资是:%6d¥" % (A[0][0], A[0][1])) # 右对齐,人名不足10位,左侧补空格,薪资右不足6位,左侧补空格
print("%-10s的工资是:%-6d¥" % (A[0][0], A[0][1])) # 人名左对齐,人名不足10位,右侧补空格,薪资不足6位,左侧补空格
print("%-10s的工资是:%06d¥" % (A[0][0], A[0][1])) # 人名左对齐,人名不足10位,右侧补空格,薪资左对齐,不足6位,左侧补0
2) ** 指定长度打印----数值和字符串一样的------format**
A = [["Alice", 1000], ["Bob", 20000]]
print("{0:>10s}的工资是:{1:>6d}¥".format(A[0][0], A[0][1])) # 右对齐,人名不足10位,左侧补空格,薪资右不足6位,左侧补空格
print("{0:<10s}的工资是:{1:<6d}¥".format(A[0][0], A[0][1])) # 人名左对齐,人名不足10位,右侧补空格,薪资不足6位,左侧补空格
print("{0:<10s}的工资是:{1:>06d}¥" .format(A[0][0], A[0][1])) # 人名左对齐,人名不足10位,右侧补空格,薪资左对齐,不足6位,左侧补0
3) ** 指定长度打印----数值和字符串一样的------format缩写f **
A = [["Alice", 1000], ["Bob", 20000]]
print(f"{A[0][0]:>10s}的工资是:{A[0][1]:>6d}¥") # 右对齐,人名不足10位,左侧补空格,薪资右不足6位,左侧补空格
print(f"{A[0][0]:<10s}的工资是:{A[0][1]:<6d}¥") # 人名左对齐,人名不足10位,右侧补空格,薪资不足6位,左侧补空格
print(f"{A[0][0]:<10s}的工资是:{A[0][1]:>06d}¥" ) # 人名左对齐,人名不足10位,右侧补空格,薪资左对齐,不足6位,左侧补0
**上边进行格式化的基本是整数&字符串的格式化,**实际上,浮点型数据有时也需要进行格式化输出
如下:
num = [123.33, 199.0999, 188.77]
print("第一个小数是:%f" % num[0]) # 小数输出,默认6位
print("第一个小数是:%.5f" % num[0]) # 保留5位小数,不足小数点右侧补0
print("第一个小数是:%10.5f" % num[0]) # 保留5位小数,位数不足10位是左侧补空格 (包含小数点. )
print("第一个小数是:%010.5f" % num[0]) # 保留5位小数,位数不足10位是左侧补0 (包含小数点. )