Python:print() 及其格式化
一、print() 方法
语法:print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
参数:
- objects -- 复数,表示可以一次输出多个对象。输出多个对象时,需要用 , 分隔。
- sep -- 用来间隔多个对象,默认值是一个空格。
- end -- 用来设定以什么结尾。默认值是换行符 \n,我们可以换成其他字符串。
- file -- 要写入的文件对象。
- flush -- 输出是否被缓存通常决定于 file,但如果 flush 关键字参数为 True,流会被强制刷新。
二、格式化输出
在C语言中,可以使用 printf("%2d",x) 的形式实现数据的格式化输出。类似的,在 python 中,我们同样可以实现数据的格式化输出。
1、常用符号
(1)% 字符
.% 标记转换说明符的开始。
(2)宽度及精度
如:
PI = 3.141592653
print('%10.3f' % PI) #字段宽10,精度3
输出:
3.142
(3)转换标志
- -:表示左对齐
- +:表示在数值前要加上正负号
- " "(空白字符):表示正数之前保留空格()
- 0:表示转换值若位数不够则用0填充。
- <sp>:在正数前面显示空格
- #:在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X')
- %:'%%'输出一个单一的'%'
- (var):映射变量(字典参数)
- m.n:m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)
如:
PI=3.1415926
print('%-10.3f' % PI) #左对齐,还是10个字符,但空格显示在右边。
输出:
3.142
print('%+f' % PI) #显示正负号
输出:
#+3.141593
print('%010.3f' % PI) #字段宽度为10,精度为3,不足处用0填充空白
输出:
#000003.142
(4)格式字符
- %c:格式化字符及其ASCII码
- %s:格式化字符串
- %d:格式化整数
- %u:格式化无符号整型
- %o:格式化无符号八进制数
- %x:格式化无符号十六进制数
- %X:格式化无符号十六进制数(大写)
- %f:格式化浮点数字,可指定小数点后的精度
- %e:用科学计数法格式化浮点数
- %E:作用同%e,用科学计数法格式化浮点数
- %g:%f和%e的简写
- %G:%f 和 %E 的简写
- %p:用十六进制数格式化变量的地址
(5)常用转义字符
- \:续行符
- \\:反斜杠
- \':单引号
- \":双引号
- \a:响铃
- \b:退格
- \e:转义
- \000:空
- \n:换行
- \v:纵向制表符
- \t:横向制表符
- \r:回车
- \f:换页
- \oyy:八进制数yy代表的字符,如:\o12代表换行
- \xyy:十进制数yy代表的字符,如:\x0a代表换行
- \other:其他的字符以普通格式输出
2.实例
输出99乘法表:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
y = 1
while y <= 9:
x = 1
while x <= y:
print("%d * %d = %d" %(x,y,x*y) , end="\t")
x += 1
print("") # 打印换行
y += 1