python-格式化输出
方法一:用占位符
% 格式化占位符
%f 浮点数
保留小数点后面六位有效数字
a=10 b=15 print("a=%f,b=%f"%(a,b))
%.3f,保留3位小数位
%e ——保留小数点后面六位有效数字,指数形式输出
%.3e,保留3位小数位,使用科学计数法
%E
%g ——在保证六位有效数字的前提下,使用小数方式,否则使用科学计数法
%.3g,保留3位有效数字,使用小数或科学计数法
%s 字符串
print("苹果单价%s元"%('1234567890'))
%15s 右对齐,占位符至少15位
%-15s 左对齐,占位符至少15位
%.2s 截取左边2位字符串
%5.2s 占位符5个 截取左边2个字符
%d 或 %i 十进制整数
%nd n表示占位符至少n位 不足n位时左侧用0填充
print("%2d点:%2d分"%(900,5))
%x 十六进制整数小写
%X 十六进制整数大写
%% 输出%
%c 字符
print("苹果单价%c元"%(65)) 输出ASCii码为65的字符
print("苹果单价%c元"%('6')) 输出字符6
%u 无符号整数
%o 八进制整数
%r 看https://i.cnblogs.com/posts/edit;postId=10946225的repr
方法二:format用法
占位符 {}
print('我是{},今年{}岁'.format('李明','51')) 不带编号,按顺序输出
print('我是{1},今年{0}岁,我永远叫{0}'.format('李明','51')) 带编号,根据编号顺序输出
print('我是{a},今年{x}岁,我永远叫{a}'.format(a='李明',x='51')) 根据关键字输出
格式转换
b 二进制 print('我是{0},今年{1:b}岁'.format('李明',51))
c 字符
d 十进制整数
o 八进制
x 16进制小写
e 幂符号。用科学计数法打印数字。用'e'表示幂。
g 一般格式。将数值以fixed-point格式输出。当数值特别大的时候,用幂形式打印
n 数字。当值为整数时和'd'相同,值为浮点数时和'g'相同。不同的是它会根据区域设置插入数字分隔符
% 百分数。将数值乘以100然后以fixed-point('f')格式打印,值后面会有一个百分号
print('我是{0},今年{1:.2%}岁'.format('李明',51))
< 左对齐
> 右对齐
s1=format(s,'>20') 右对齐占用20个位置
字体显示颜色
格式:\033[显示方式;前景色;背景色m+字符串+\033[0m
显示方式,前景色,背景色是可选参数,可以只写其中的某一个;另外由于表示三个参数不同含义的数值都是唯一的没有重复的,所以三个参数的书写先后顺序没有固定要求,系统都能识别;但是,建议按照默认的格式规范书写
例子:print('\033[1;34;41m'+'李明'+'\033[0m')
方法三:用f格式
格式化字符串以字母"f"或"F"作为前缀,后跟一对大括号{},其中可以包含变量名称、表达式或函数调用
name = "Alice" age = 30 print(f"My name is {name} and I am {age} years old.")