写点什么

python 小知识 -python 格式化

作者:AIWeker
  • 2022 年 7 月 22 日
  • 本文字数:974 字

    阅读完需:约 3 分钟

python小知识-python格式化

打印输出是每一种语言都必有的函数,虽然也有断电调试,但是打印输出自认为是最好的调试手段,哪里有问题,哪里打印出来。


常见语言的打印输出函数

  • bash :echo

  • java: System.out.print()

  • c: sprintf

  • c++: cout


python 中是 print,而打印输出除了简单的字符串,经常会涉及到格式化输出。


Python 中内置的 %操作符和.format 方式都可用于格式化字符串,我们来看看具体的用法,这里推荐使用.format 的方式


.format 方式格式化字符串的基本语法为:[[填充符]对齐方式][符号][#][0][宽度][,][.精确度][转换类型]


format 常用的用法:

  • 数值转换:e 为科学计数 f 为浮点型 {:0.2f}

  • 位置符合: {0:} {1:} format 允许同一个数据显示多次

  • 精度:{:0.2f} 保留 2 位小数

  • 填充:{:06.1f} 总的位置 6 位,包括小数点和小数位,不足的填充 0


str_ = 'abce'float_ = 1.9003int_ = 890print('# str is {}, float is {}'.format(str_, float_))print('# str is {}, float is {:0.2f}  '.format(str_, float_))print('# str is {0:}, float is {1:0.2f} {1:0.2e} '.format(str_, float_))print('# int is {:06.1f}  '.format(int_))
# str is abce, float is 1.9003# str is abce, float is 1.90 # str is abce, float is 1.90 1.90e+00 # int is 0890.0
复制代码


format 还支持参数化

# 参数输出list_1 = [1, 3]list_2 = [21, 23]print('{0[0]} , {0[1]}, {1[1]}'.format(list_1, list_2))
# 1 , 3, 23
复制代码


除了内置的 print 的函数,第三方库 pprint 还提供了格式化漂亮的打印, 特别是对复杂的数据



json = {"name": "yuyq", "tel": "12323131", "age": 12, "asset": {"1dfdfd":[1, 3,4], "dfsf":112, "33":"newdfd"}}print(json)
# {'name': 'yuyq', 'tel': '12323131', 'age': 12, 'asset': {'1dfdfd': [1, 3, 4], 'dfsf': 112, '33': 'newdfd'}}
复制代码


from pprint import pprint
json = {"name": "yuyq", "tel": "12323131", "age": 12, "asset": {"1dfdfd":[1, 3,4], "dfsf":112, "33":"newdfd"}}print(json)
# {'name': 'yuyq', 'tel': '12323131', 'age': 12, 'asset': {'1dfdfd': [1, 3, 4], 'dfsf': 112, '33': 'newdfd'}}

pprint(json)# {'age': 12,# 'asset': {'1dfdfd': [1, 3, 4], '33': 'newdfd', 'dfsf': 112},# 'name': 'yuyq',# 'tel': '12323131'}
复制代码

从上面可知,pprint 可以格式化非常复杂的数据,使得数据更加清晰。

发布于: 1 小时前阅读数: 9
用户头像

AIWeker

关注

公众号:人工智能微客(aiweker) 2019.11.21 加入

人工智能微客(aiweker)长期跟踪和分享人工智能前沿技术、应用、领域知识,不定期的发布相关产品和应用,欢迎关注和转发

评论

发布
暂无评论
python小知识-python格式化_Python_AIWeker_InfoQ写作社区