page contents

Python打印神器:print()和pprint()大比拼,你真的会用吗?

Python中的2个函数:print()和pprint(),它们都是用来输出数据的,但你真的了解它们的区别吗?让我们一起来看看这两个函数的神奇之处吧!

attachments-2024-08-7ukxH91d66d12263a3adc.jpgPython中的2个函数:print()和pprint(),它们都是用来输出数据的,但你真的了解它们的区别吗?让我们一起来看看这两个函数的神奇之处吧!

1. 老朋友print():简单但强大

print()函数可以说是每个Python新手的第一个朋友。它简单、直接,但别以为它只会说"Hello, World!"哦!

print()的小秘密

# 1. 打印多个对象

print("我叫", "小明", "今年", 18, "岁")

# 2. 使用sep参数

print("www", "python", "org", sep=".")

# 3. 使用end参数

print("你好", end="")

print("世界")

# 4. 格式化输出

name = "张三"

age = 25

print(f"我叫{name},今年{age}岁")

运行结果:

我叫 小明 今年 18 岁

www.python.org

你好世界

我叫张三,今年25岁

看到了吗?print()远不止打印那么简单!

2. 新朋友pprint():让复杂数据结构不再凌乱

当你开始处理复杂的数据结构时,print()可能就有点力不从心了。这时候,pprint()(pretty print)就来救场了!

pprint()的绝技

首先,我们需要导入pprint模块:

from pprint import pprint

# 创建一个复杂的数据结构

my_favorite_movies = {

    "动作片": ["速度与激情", "碟中谍", "复仇者联盟"],

    "喜剧片": ["功夫", "大话西游", "疯狂动物城"],

    "科幻片": {

        "星际穿越": {"导演": "克里斯托弗·诺兰", "年份": 2014},

        "盗梦空间": {"导演": "克里斯托弗·诺兰", "年份": 2010},

        "黑客帝国": {"导演": "沃卓斯基兄弟", "年份": 1999}

    }

}

print("使用print():")

print(my_favorite_movies)

print("\n使用pprint():")

pprint(my_favorite_movies)

print("\n使用pprint()并设置宽度:")

pprint(my_favorite_movies, width=40)

运行结果:

使用print():

{'动作片': ['速度与激情', '碟中谍', '复仇者联盟'], '喜剧片': ['功夫', '大话西游', '疯狂动物城'], '科幻片': {'星际穿越': {'导演': '克里斯托弗·诺兰', '年份': 2014}, '盗梦空间': {'导演': '克里斯托弗·诺兰', '年份': 2010}, '黑客帝国': {'导演': '沃卓斯基兄弟', '年份': 1999}}}

使用pprint():

{'动作片': ['速度与激情', '碟中谍', '复仇者联盟'],

 '喜剧片': ['功夫', '大话西游', '疯狂动物城'],

 '科幻片': {'星际穿越': {'导演': '克里斯托弗·诺兰', '年份': 2014},

         '盗梦空间': {'导演': '克里斯托弗·诺兰', '年份': 2010},

         '黑客帝国': {'导演': '沃卓斯基兄弟', '年份': 1999}}}

使用pprint()并设置宽度:

{'动作片': ['速度与激情',

          '碟中谍',

          '复仇者联盟'],

 '喜剧片': ['功夫', '大话西游', '疯狂动物城'],

 '科幻片': {'星际穿越': {'导演': '克里斯托弗·诺兰',

                  '年份': 2014},

         '盗梦空间': {'导演': '克里斯托弗·诺兰',

                  '年份': 2010},

         '黑客帝国': {'导演': '沃卓斯基兄弟',

                  '年份': 1999}}}

看到区别了吗?pprint()让复杂的数据结构变得清晰易读,简直是数据可视化的一大利器!

3. 实战:调试神器

在实际开发中,pprint()的作用更加明显。假设我们在处理一个API返回的JSON数据:

import json

from pprint import pprint


# 模拟API返回的JSON数据

api_response = '''

{

    "status": "success",

    "data": {

        "user": {

            "id": 12345,

             "name": "张三",

            "email": "zhangsan@example.com",

            "orders": [

                {"id": "A001", "product": "Python课程", "price": 199},

                {"id": "A002", "product": "数据分析课程", "price": 299},

                {"id": "A003", "product": "机器学习课程", "price": 499}

            ]

        }

    }

}

'''

# 解析JSON数据

data = json.loads(api_response)

print("使用print():")

print(data)

print("\n使用pprint():")

pprint(data)

运行结果:

使用print():

{'status': 'success', 'data': {'user': {'id': 12345, 'name': '张三', 'email': 'zhangsan@example.com', 'orders': [{'id': 'A001', 'product': 'Python课程', 'price': 199}, {'id': 'A002', 'product': '数据分析课程', 'price': 299}, {'id': 'A003', 'product': '机器学习课程', 'price': 499}]}}}

使用pprint():

{'data': {'user': {'email': 'zhangsan@example.com',

                   'id': 12345,

                   'name': '张三',

                   'orders': [{'id': 'A001',

                               'price': 199,

                               'product': 'Python课程'},

                              {'id': 'A002',

                               'price': 299,

                               'product': '数据分析课程'},

                              {'id': 'A003',

                               'price': 499,

                               'product': '机器学习课程'}]}},

 'status': 'success'}

在处理复杂的JSON数据时,pprint()的优势显而易见,让你的调试过程事半功倍!

总结

对于简单的输出,print()依然是你的好伙伴。

处理复杂数据结构时,pprint()能让你的生活更美好。

在调试代码时,别忘了pprint()这个强大的工具。

pprint()还有更多高级用法,如控制输出深度、排序等,等待你去探索!

记住,工具在手,调试我有。灵活运用print()和pprint(),让你的Python之旅更加顺畅!

更多相关技术内容咨询欢迎前往并持续关注好学星城论坛了解详情。

想高效系统的学习Python编程语言,推荐大家关注一个微信公众号:Python编程学习圈。每天分享行业资讯、技术干货供大家阅读,关注即可免费领取整套Python入门到进阶的学习资料以及教程,感兴趣的小伙伴赶紧行动起来吧。

attachments-2022-05-rLS4AIF8628ee5f3b7e12.jpg

  

  • 发表于 2024-08-30 09:38
  • 阅读 ( 55 )
  • 分类:Python开发

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
小柒
小柒

1470 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1470 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章