print() 函数
函数原型:
print(*objects, sep=' ', end='\n', file=None, flush=False)
*objects
*objects
表示可以放若干个参数,多个参数之间用逗号分隔。
程序示例:
import datetime
now = datetime.date.today()
print("今天是", now)
sep
print() 输出多个参数时,默认使用空格分隔,因为 sep 参数默认值为空格。可以通过指定参数 sep 的值来指定间隔符。
程序示例:
print(1, 2, 3, sep='**')
输出:
1**2**3
格式化输出
% 叫做格式化操作符。
包含 % 的字符串叫做格式化字符串。
格式:
print("格式化字符串" % (变量1, 变量2, ...))
格式化字符
不同的数据类型需要使用不同的格式化字符。
格式化字符 | 含义 |
---|---|
%s | 字符串 |
%d | 有符号十进制整数 |
%f | 浮点数 |
%s | 字符串 |
%% | 输出 % |
修饰符
格式化操作符 % 和格式化字符之间可以有修饰符。
%6d:十进制整数最少占用 6 位,右对齐,多出来的位置为空。
%06d:十进制整数最少占用 6 位,右对齐,多出来的位置用 0 占位。
%-6d:十进制整数最少占用 6 位,左对齐,多出来的位置为空。
%+6d:十进制整数最少占用 6 位,右对齐,多出来的位置为空,显示出符号位,正数和零显示 +,负数则显示 -。
%+06d:十进制整数最少占用 6 位,右对齐,多出来的位置用 0 占位,显示出符号位,正数和零显示 +,负数则显示 -。
程序示例:
print("*" * 6)
print("%6d" % 10) # 不足 6 位,占用 6 位,右对齐,不足的位数为空
print("%6d" % 100000000) # 超过 6 位,全部输出
print('------------------------')
print("%06d" % 10) # 不足 6 位,占用 6 位,不足的位数用 0 占位
print("%06d" % 100000000) # 超过 6 位,全部输出,0 不起作用
print('------------------------')
print("%-6d" % 10) # 不足 6 位,占用 6 位,左对齐,不足的位数为空
print("%-06d" % 10) # 不足 6 位,占用 6 位,左对齐,不足的位数为空,0 不起作用,0 当然不能补到后面
print('------------------------')
print("*" * 6)
print("%+6d" % 10) # 不足 6 位,占用 6 位,右对齐,不足的位数为空,显示出符号位 +,符号位 + 占用一位
print("%+6d" % -10) # 不足 6 位,占用 6 位,右对齐,不足的位数为空,显示出符号位 -,符号位 - 占用一位
print("%+6d" % 0) # 不足 6 位,占用 6 位,右对齐,不足的位数为空,显示出符号位 -,符号位 - 占用一位
print('------------------------')
print("*" * 6)
print("%+06d" % 10) # 不足 6 位,占用 6 位,不足的位数用 0 占位,显示出符号位 +,符号位 + 占用一位
print("%+06d" % -10) # 不足 6 位,占用 6 位,不足的位数用 0 占位,显示出符号位 -,符号位 - 占用一位
输出:
******
10
100000000
------------------------
000010
100000000
------------------------
10
10
------------------------
******
+10
-10
+0
------------------------
******
+00010
-00010
%.5f:只显示五位小数,四舍五入,不足的位置用 0 占位。
%+.5f:只显示五位小数,四舍五入,不足的位置用 0 占位,显示出符号位,正数和零显示 +,负数则显示 -。
%8.3f:只显示三位小数,四舍五入,整个浮点数至少占用 8 位,右对齐。
%-8.3f:只显示三位小数,四舍五入,整个浮点数至少占用 8 位,左对齐。
%-+8.3f:只显示三位小数,四舍五入,整个浮点数至少占用 8 位,左对齐,显示出符号位,正数和零显示 +,负数则显示 -。
程序示例:
print("%.3f" % 3.141592653589793)
print("%.5f" % 3.14)
print('------------------------')
print("%+.5f" % 3.14)
print("%+.5f" % 0)
print("%+.5f" % -3.14)
print('------------------------')
print("*" * 8)
print("%8.3f" % 3.141592653589793)
print("%2.3f" % 3.141592653589793)
print('------------------------')
print("*" * 8)
print("%-8.3f" % 3.141592653589793)
print('------------------------')
print("%-+8.3f" % 3.141592653589793)
print("%-+8.3f" % -3.141592653589793)
输出:
3.142
3.14000
------------------------
+3.14000
+0.00000
-3.14000
------------------------
********
3.142
3.142
------------------------
********
3.142
------------------------
+3.142
-3.142
%s:输出字符串。
%7s:输出字符串,至少占用七个位置,右对齐,多于位置用空格占位。
%-7s:输出字符串,至少占用七个位置,左对齐。
%+7s:等同于 %7s
程序示例:
a = "hello"
b = " world"
print("a = %s, b = %s" % (a, b))
print("--------------------")
print("*" * 7)
a = "hello"
print("%7s" % a)
b = "helloworld"
print("%7s" % b)
print("--------------------")
print("*" * 7)
print("%-7s" % a)
print("--------------------")
print("*" * 7)
print("%+7s" % a)
输出:
a = hello, b = world
--------------------
*******
hello
helloworld
--------------------
*******
hello
--------------------
*******
hello
%%:输出 %
程序示例:
a = 3.141592653589793
print("a = %.2f%%" % a)
输出:
a = 3.14%