熟悉C语言 printf() 函数的读者能够轻而易举学会 Python print() 函数,它们是非常类似的。
print() 函数使用以%
开头的转换说明符对各种类型的数据进行格式化输出,具体请看下表。转换说明符 | 解释 |
---|---|
%d、%i | 转换为带符号的十进制整数 |
%o | 转换为带符号的八进制整数 |
%x、%X | 转换为带符号的十六进制整数 |
%e | 转化为科学计数法表示的浮点数(e 小写) |
%E | 转化为科学计数法表示的浮点数(E 大写) |
%f、%F | 转化为十进制浮点数 |
%g | 智能选择使用 %f 或 %e 格式 |
%G | 智能选择使用 %F 或 %E 格式 |
%c | 格式化字符及其 ASCII 码 |
%r | 使用 repr() 函数将表达式转换为字符串 |
%s | 使用 str() 函数将表达式转换为字符串 |
age = 8 print("C语言中文网已经%d岁了!" % age)运行结果:
%d
说明符,它最终会被后面的 age 变量的值所替代。%
是一个分隔符,它前面是格式化字符串,后面是要输出的表达式。( )
包围起来。请看下面的例子:
name = "C语言中文网" age = 8 url = "http://task.lmcjl.com/" print("%s已经%d岁了,它的网址是%s。" % (name, age, url))运行结果:
C语言中文网已经8岁了,它的网址是http://task.lmcjl.com/。
总之,有几个占位符,后面就得跟着几个表达式。n = 1234567 print("n(10):%10d." % n) print("n(5):%5d." % n) url = "http://task.lmcjl.com/python/" print("url(35):%35s." % url) print("url(20):%20s." % url)运行结果:
n(10): 1234567. n(5):1234567. url(35): http://task.lmcjl.com/python/. url(20):http://task.lmcjl.com/python/.从运行结果可以发现,对于整数和字符串,当数据的实际宽度小于指定宽度时,会在左侧以空格补齐;当数据的实际宽度大于指定宽度时,会按照数据的实际宽度输出。
标志 | 说明 |
---|---|
- | 指定左对齐 |
+ |
表示输出的数字总要带着符号;正数带+ ,负数带- 。 |
0 | 表示宽度不足时补充 0,而不是补充空格。 |
-
标志,因为符号对于字符串没有意义,而补 0 会改变字符串的值。n = 123456 # %09d 表示最小宽度为9,左边补0 print("n(09):%09d" % n) # %+9d 表示最小宽度为9,带上符号 print("n(+9):%+9d" % n) f = 140.5 # %-+010f 表示最小宽度为10,左对齐,带上符号 print("f(-+0):%-+010f" % f) s = "Hello" # %-10s 表示最小宽度为10,左对齐 print("s(-10):%-10s." % s)运行结果:
n(09):000123456 n(+9): +123456 f(-+0):+140.500000 s(-10):Hello .
.
隔开;也可以不写最小宽度,只写精度。具体格式如下:
%m.nf
%.nf
.
是必须存在的。f = 3.141592653 # 最小宽度为8,小数点后保留3位 print("%8.3f" % f) # 最小宽度为8,小数点后保留3位,左边补0 print("%08.3f" % f) # 最小宽度为8,小数点后保留3位,左边补0,带符号 print("%+08.3f" % f)运行结果:
3.142 0003.142 +003.142
本文链接:http://task.lmcjl.com/news/9133.html