首页 > 编程笔记 > Python笔记 阅读:100

Python print()的用法(附带实例)

print() 是 Python 的内置函数,用于输出指定的内容(通常是终端或控制台),可以输出字符串、数字、变量值,甚至复杂的数据结构

Python print()函数用法

print() 函数的语法格式如下:

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

参数 file 和 flush 是带有默认值的,这意味着使用 print() 函数时可以不为它们手动传递参数(后续会讲解这两个参数的用法)。

sep 参数控制多个对象之间的分隔符,默认是空格,可以改为其他字符,例如逗号、破折号等:

print("apple", "banana", "orange", sep=", ")
print("a", "b", "c", sep="-")

运行上述代码,输出结果:

apple, banana, orange
a-b-c


end 参数控制输出后的结束字符,默认是换行符 \n,常用于连续输出和自定义格式。通过修改,可以让输出不换行或添加其他字符:

print("Hello", end=" ")
print("World")
print("One", end="---")
print("Two")

运行上述代码,输出结果:

Hello World
One---Two

注意,Python 3.x 要求在使用 print() 函数时必须加上小括号( ),但是以前的 Python 2.x 版本可以省略小括号,例如:
print 198
print "Hello World!"; #末尾也可以加上分号
print "Pyhon教程:http://c.biancheng.net/python/"
我建议大家加上小括号,这样写比较容易理解,而且兼容性好。

Python print()应用场景

1) 输出单个对象

print() 可以输出任何类型的单个对象,包括字符串、数字或变量:

print("Python")     # 输出字符串
print(42)           # 输出整数
print(3.14)         # 输出浮点数
name = "Alice"
print(name)         # 输出变量

每调用一次 print(),默认会在末尾添加换行符 \n,因此连续调用会分行显示。

2) 输出多个对象

可以用逗号分隔多个对象,它们会依次输出,默认用空格连接:

print("Hello", "World", 2023)

运行上述代码,输出结果:

Hello World 2023

3) 格式化输出

print() 常与字符串格式化结合使用,以更标准地输出内容。Python 提供了多种格式化方法:
①  自 3.6 版本及以上,Python 支持直接在字符串中嵌入变量。例如:

name = "Bob"
age = 25
print(f"姓名:{name},年龄:{age}") 

注意:要在字符串 "" 之前加 f

运行上述代码,并输出结果:

姓名:Bob,年龄:25

② format() 方法通过占位符 {} 插入值:

x = 3.14159
print("圆周率是 {}".format(x))

运行上述代码,输出结果:

圆周率是 3.14159

③ 使用 % 运算符进行格式化:

score = 95
print("得分:%d" % score)

运行上述代码,并输出结果:

得分:95

4) 控制输出精度

对于数字,尤其是浮点数,可以通过格式化控制小数位数。例如,使用在“”前加 f 或 format():

pi = 3.1415926f
print(f"PI = {pi:.2f}")
print("PI = {:.3f}".format(pi))

运行上述代码,输出结果:

PI = 3.14
PI = 3.142

5) 使用file参数输出到文件

默认情况下,print() 输出到屏幕(sys.stdout),可以用 file 参数将输出重定向到文件:

with open("output.txt", "w") as f:
    print("写入文件", file=f)

运行后,"写入文件" 会被写入 "output.txt" 文件,而不是显示在屏幕上。

6) 使用flush参数强制刷新

flush 参数默认是 False,表示输出可能被缓冲。如果设为 True,会立即刷新缓冲区,确保输出即时显示。主要应用于实时进度显示、日志或调试信息。例如:

import time
for i in range(3):
    print(i, end=" ", flush=True)
    time.sleep(1)  # 每秒输出一次

运行上述代码,并输出结果:每隔一秒依次显示 "0"、"1"、"2",而不是一次性输出。这是因为 flush=True 强调每次 print() 调用后立即刷新缓冲区。

总结

在 Python 中使用 print() 函数时,还有以下几点需要注意:

相关文章