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%
posted @ 2025-09-30 23:41  chengYouKong  阅读(7)  评论(0)    收藏  举报