python print和pprint详解

print 和 pprint 是 Python 中两个常用的输出函数,它们分别用于将数据打印到控制台,但它们在处理数据的方式上有一些关键的区别。以下是对它们的详解:

print
print 是 Python 的一个内置函数,用于将数据输出到控制台。它的基本用法非常简单,可以输出字符串、数字、变量、列表、字典等各种数据类型。其输出形式通常是紧凑的,尤其是对于复杂的嵌套数据结构来说,输出可能不太容易阅读。

主要功能和特点

  • 默认输出一行文字,并在末尾自动加上一个换行符。
  • 可以使用 sep 参数来指定多个值之间的分隔符。
  • 可以使用 end 参数来指定结尾符。
  • 支持 file 参数,将输出重定向到文件。
  • 支持 flush 参数,决定是否立即把输出刷新到流中。

示例

# 输出简单字符串
print("Hello, World!")

# 输出多个值,中间用空格分隔
print("Hello", "World", 2024)

# 使用 sep 参数指定分隔符
print("Hello", "World", 2024, sep="-")

# 使用 end 参数指定结尾符
print("Hello", end=" ")
print("World!")

pprint
pprint 是 Python 标准库 pprint(PrettyPrint)模块中的一个函数,主要用于美观地打印 Python 数据结构,特别是复杂的嵌套数据结构。它可以更清晰地展示列表、字典等内容,使其更易于阅读和调试。

主要功能和特点

  • 自动对复杂的嵌套数据结构进行格式化,使其结构层次更清晰。
  • 可以通过 width 参数设置每行的最大字符数,以控制输出的宽度。
  • 可以通过 depth 参数限制打印的嵌套层数。
  • 可以通过 indent 参数设置缩进级别。

示例

import pprint

data = {
    "name": "Alice",
    "age": 30,
    "address": {
        "city": "Wonderland",
        "zipcode": "12345"
    },
    "hobbies": ["reading", "painting", "chess"],
    "education": [
        {"degree": "BSc", "year": 2012},
        {"degree": "MSc", "year": 2014},
        {"degree": "PhD", "year": 2018}
    ]
}

# 使用 pprint 美观地打印复杂数据结构
pprint.pprint(data)

输出示例:

{'address': {'city': 'Wonderland', 'zipcode': '12345'},
 'age': 30,
 'education': [{'degree': 'BSc', 'year': 2012},
               {'degree': 'MSc', 'year': 2014},
               {'degree': 'PhD', 'year': 2018}],
 'hobbies': ['reading', 'painting', 'chess'],
 'name': 'Alice'}

总结

  • print:适用于一般的输出需求,使用简单,但在处理复杂的嵌套数据结构时,输出可能不太直观。
  • pprint:适用于需要美观、清晰地打印复杂数据结构的场景,能够自动格式化数据,使其层次分明,易于阅读。

根据具体需求选择合适的输出函数,可以提高代码的可读性和调试效率。

  • 9
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值