Python print() 函数完整说明

1. 基本语法

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

2. 参数详解

2.1 *objects (可变参数)

  • 要打印的对象,可以是多个,用逗号分隔
  • 支持任何数据类型(自动调用 str() 转换)

示例:

print("Hello", "World")           # Hello World
print(1, 2, 3)                    # 1 2 3
print("Age:", 25)                 # Age: 25

2.2 sep (分隔符)

  • 指定多个对象之间的分隔符
  • 默认值:空格 ' '

示例:

print(1, 2, 3, sep=',')           # 1,2,3
print('a', 'b', 'c', sep='-')     # a-b-c
print(2023, 12, 31, sep='/')      # 2023/12/31

2.3 end (结束符)

  • 指定打印结束后的字符
  • 默认值:换行符 '\n'

示例:

print("Hello", end=' ')
print("World")                    # Hello World

print("Loading", end='...')
print("Done")                     # Loading...Done

print("No newline", end='')
print("Continued")                # No newlineContinued

2.4 file (输出目标)

  • 指定输出流,默认输出到标准输出(sys.stdout)
  • 可以重定向到文件或其他流

示例:

# 输出到文件
with open('output.txt', 'w') as f:
    print("Hello File", file=f)

# 输出到标准错误
import sys
print("Error message", file=sys.stderr)

2.5 flush (强制刷新)

  • 是否强制刷新输出缓冲区
  • 默认值:False
  • 设为 True 时立即输出,不缓冲

示例:

import time

print("Loading", end='', flush=True)
for i in range(3):
    time.sleep(1)
    print(".", end='', flush=True)
# 输出: Loading... (立即显示,每秒一个点)

3. 常用用法示例

3.1 基本打印

print("Hello World")              # Hello World
print(100)                        # 100
print(3.14)                       # 3.14

3.2 多参数打印

name = "Alice"
age = 25
print("Name:", name, "Age:", age) # Name: Alice Age: 25

3.3 格式化输出

# f-string (Python 3.6+)
name = "Bob"
print(f"Hello, {name}!")          # Hello, Bob!

# format() 方法
print("Value: {}".format(42))     # Value: 42

# % 格式化
print("Score: %d" % 95)           # Score: 95

3.4 特殊字符处理

print("Line1\nLine2")             # 换行
print("Tab\tseparated")           # 制表符
print("Backslash: \\")            # 反斜杠
print('Quote: "Hello"')           # 引号

3.5 列表和字典输出

numbers = [1, 2, 3, 4, 5]
print("Numbers:", numbers)        # Numbers: [1, 2, 3, 4, 5]

person = {'name': 'John', 'age': 30}
print("Person:", person)          # Person: {'name': 'John', 'age': 30}

4. 高级用法

4.1 重定向输出

from io import StringIO

# 捕获输出到字符串
output = StringIO()
print("Hello World", file=output)
result = output.getvalue()        # "Hello World\n"

4.2 条件打印

debug = True
def dprint(*args):
    if debug:
        print(*args)

dprint("Debug info")              # 仅在 debug=True 时打印

4.3 彩色输出

# ANSI 颜色代码
RED = '\033[91m'
GREEN = '\033[92m'
RESET = '\033[0m'

print(f"{RED}Error!{RESET}")      # 红色错误信息
print(f"{GREEN}Success!{RESET}")  # 绿色成功信息

5. 注意事项

5.1 性能考虑

  • 频繁的小量打印可能影响性能
  • 大量数据建议先构建字符串再一次性打印

5.2 编码问题

# 处理非ASCII字符
print("中文")                     # Python 3 默认支持UTF-8

# 指定编码(在需要时)
import sys
sys.stdout.reconfigure(encoding='utf-8')

5.3 与Python 2的区别

  • Python 2: print 是语句,不是函数
  • Python 3: print() 是内置函数

Python 2 语法:

# Python 2 (已过时)
print "Hello World"
print x, y, z

6. 实用技巧

6.1 调试打印

variable = "test"
print(f"[DEBUG] variable = {variable}")  # 添加调试标记

6.2 进度指示

import time

for i in range(10):
    print(f"\rProgress: {i+1}/10", end='', flush=True)
    time.sleep(0.5)
print()  # 最后换行

6.3 表格样式输出

data = [("Alice", 25), ("Bob", 30), ("Charlie", 35)]
for name, age in data:
    print(f"{name:<10} {age:>3}")  # 左对齐姓名,右对齐年龄

💡 提示: Python 3 中的 print() 是一个灵活的函数,熟练掌握其参数可以大大提升输出格式化的效率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liuyuan77

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值