熟悉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://c.biancheng.net/"
print("%s已经%d岁了,它的网址是%s。" % (name, age, url))
运行结果:
C语言中文网已经8岁了,它的网址是http://c.biancheng.net/。
总之,有几个占位符,后面就得跟着几个表达式。
n = 1234567
print("n(10):%10d." % n)
print("n(5):%5d." % n)
url = "http://c.biancheng.net/python/"
print("url(35):%35s." % url)
print("url(20):%20s." % url)
运行结果:
n(10): 1234567. n(5):1234567. url(35): http://c.biancheng.net/python/. url(20):http://c.biancheng.net/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
版权说明:Copyright © 广州松河信息科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州松河信息科技有限公司 版权所有