菜鸟科技网

Python输出命令有哪些?

print() 函数

print() 是 Python 的内置函数,用于将指定的内容输出到控制台(通常是你的终端或命令行窗口)。

Python输出命令有哪些?-图1
(图片来源网络,侵删)

基本用法

最简单的用法是直接打印一个字符串(文本)。

# 打印一个简单的字符串
print("你好,世界!")
# 打印一个数字
print(2025)
# 打印一个布尔值
print(True)

输出结果:

你好,世界!
2025
True

打印多个变量

你可以用逗号 来分隔多个想要打印的变量,print() 会自动在它们之间添加一个空格。

name = "Alice"
age = 30
city = "北京"
print(name, age, city)

输出结果:

Python输出命令有哪些?-图2
(图片来源网络,侵删)
Alice 30 北京

控制分隔符

默认情况下,多个项之间用空格分隔,你可以使用 sep 参数来指定自定义的分隔符。

name = "Bob"
age = 25
# 使用 '-' 作为分隔符
print(name, age, sep='-')
# 使用 ' | ' 作为分隔符
print(name, age, sep=' | ')

输出结果:

Bob-25
Bob | 25

控制结尾符

默认情况下,print() 在打印完所有内容后会换行,这是因为它的 end 参数默认值是 \n(换行符),你可以修改 end 参数来改变结尾的行为。

# 不换行,在结尾添加一个空格
print("Hello", end=' ')
print("World", end='!')
print(" Python")

输出结果:

Python输出命令有哪些?-图3
(图片来源网络,侵删)
Hello World! Python

一个常见的应用场景是制作进度条:

import time
for i in range(5):
    print(f"Processing... {i+1}/5", end='\r')
    time.sleep(1) # 暂停1秒
print("\nDone!") # 循环结束后打印 Done 并换行

格式化输出

这是 print() 最强大的功能之一,它允许你将变量嵌入到字符串中,形成格式化的输出。

f-string (推荐,Python 3.6+)

这是现代 Python 中最推荐、最简洁的方法,在字符串前加上 fF,然后在字符串内部用 包裹变量名。

name = "Charlie"
age = 35
score = 95.5
print(f"姓名: {name}")
print(f"年龄: {age}")
print(f"成绩: {score}")
# 还可以进行简单的格式化,比如保留两位小数
print(f"成绩: {score:.2f}")
# 还可以计算表达式
print(f"两年后,{name} 将 {age + 2} 岁。")

输出结果:

姓名: Charlie
年龄: 35
成绩: 95.5
成绩: 95.50
两年后,Charlie 将 37 岁。

str.format() 方法

这是一种在 f-string 出现之前广泛使用的方法,也非常灵活。

name = "David"
age = 40
# 使用 {} 作为占位符
print("姓名: {}, 年龄: {}".format(name, age))
# 可以指定位置
print("{1} is {0} years old.".format(age, name))
# 也可以使用变量名
print("{n} is {a} years old.".format(n=name, a=age))

输出结果:

姓名: David, 年龄: 40
David is 40 years old.
David is 40 years old.

运算符 (旧式)

这是 Python 早期版本中常用的方法,现在不推荐在新代码中使用,但你可能在一些旧的代码库中看到它。

name = "Eve"
age = 28
# %s 是字符串占位符,%d 是整数占位符
print("姓名: %s, 年龄: %d" % (name, age))
# 浮点数占位符
pi = 3.14159
print("Pi 的值是: %.2f" % pi)

输出结果:

姓名: Eve, 年龄: 28
Pi 的值是: 3.14

其他输出相关技巧

1 不换行打印

如果你只想在同一行上更新输出内容(比如上面提到的进度条),最简单的方法是使用 end=''

for i in range(10):
    print(f"计数: {i}", end=' ')
print() # 在循环结束后打印一个换行符

输出结果:

计数: 0 计数: 1 计数: 2 计数: 3 计数: 4 计数: 5 计数: 6 计数: 7 计数: 8 计数: 9 

2 输出到文件

print() 函数有一个 file 参数,默认是 sys.stdout(标准输出,即你的屏幕),你可以将其重定向到一个文件对象,从而将内容写入文件。

# 使用 'w' 模式打开文件(会覆盖原有内容)
with open('output.txt', 'w', encoding='utf-8') as f:
    print("这是要写入文件的第一行。", file=f)
    print("这是第二行。", file=f)
# 使用 'a' 模式打开文件(追加内容)
with open('output.txt', 'a', encoding='utf-8') as f:
    print("这是追加到文件的新一行。", file=f)

执行后,output.txt 文件的内容将是:

这是要写入文件的第一行。
这是第二行。
这是追加到文件的新一行。

3 禁用输出

在某些情况下,你可能想临时关闭输出(在调试时),一个简单的方法是重定向到 os.devnull,这是一个特殊的设备文件,它会丢弃所有写入其中的数据。

import os
# 正常输出
print("这条信息会显示在屏幕上。")
# 临时禁用输出
# 在 Linux/macOS 上是 /dev/null,在 Windows 上是 nul
devnull = open(os.devnull, 'w')
# 将标准输出重定向到 devnull
import sys
original_stdout = sys.stdout
sys.stdout = devnull
print("这条信息不会显示在任何地方。")
# 恢复标准输出
sys.stdout = original_stdout
devnull.close()
print("这条信息会再次显示在屏幕上。")

需求 推荐方法 示例
基本打印 print() print("Hello")
打印多个变量 print() + 逗号 print(a, b, c)
自定义分隔符 print(..., sep='...') print(a, b, sep='-')
不换行打印 print(..., end='') print(".", end='')
格式化字符串 (现代) f-string print(f"Value: {var}")
格式化字符串 (旧式) str.format() print("Value: {}".format(var))
写入文件 print(..., file=f) print("text", file=my_file)

对于绝大多数情况,print() 配合 f-string 是你进行输出的最佳选择。

分享:
扫描分享到社交APP
上一篇
下一篇