Python的格式化输出

Python的格式化输出

使用 % 符号进行格式化输出

使用%符号表示占位符,从而实现格式化输出的方法,应该在很多高级编程语言都是可以直接使用的。通常的有%d表示输出十进制整数、%f表示输出浮点小数、%s表示输出字符串等等。

除了用占位符直接输出,我们有时候可能需要数字或字符串以左对齐或者右对齐的方式输出,或者需要输出占用指定位数的空间(保证数据显示比较整齐),又或者以保留指定位数的方式输出小数等等问题。这就需要我们对占位符有进一步的了解,对于第一个问题,比如我们要输出占10个空间大小的整数,则可以写成%10d,其他占位符可以类似操作。对于第二个问题,有占位符的情况下,输出是右对齐的。Python 如果需要左对齐,只要将%10d变为%-10d即可。对于第三个问题,比如我们要输出2位小数,则可以写成%.2f。注意,这里保留2位小数默认是四舍五入的。

示例程序:

 #使用占位符直接输出
    print("%d %f %s" % (20, 20.5, "hello python!"))
    #以右对齐方式输出占10位空间大小的整数,并且用0补齐输出
    print("%010d" % 100)
    #以保留3位小数的方式输出小数,注意是四舍五入的方式
    print("%.3f" %(3.1416))

更多的占位符: 

 


使用 format 进行格式化输出

使用format进行格式化输出,最早是在 Python 2.6 开始使用,主要是通过{}format关键字来引出,用法和之前的占位符使用有点类似,不过这里不需要指明输出类型,而且需要多次输出的变量只需要显示传入一次即可。

示例程序:

 #指明要输出的变量的顺序
    print("{0} {1} {2} {0} {1}".format(20, 20.5, "hello python!"))
    #指明要输出的变量的名称
    print("{a} {b}".format(b=666, a=123))
    dt = {"a":123, "b":666}
    #以解析关键字参数的方式输出
    print("{a} {b}".format(**dt))

那如果我们又遇到之前对齐方式或者保留指定位数等问题呢?可以参照下列示例程序。

示例程序:

 #以右对齐方式输出占10位空间大小的整数,并且用0补齐输出
    print("{:>010}".format(100))
    #以居中对齐方式输出占10位空间大小的整数,并且用0补齐输出
    print("{:^010}".format(100))
    #以保留3位小数的方式输出小数,注意是四舍五入的方式
    print("{:.3f}".format(3.1416))

使用 f-string 进行格式化输出

f-string是从 Python 3.6 才开始使用的一种格式化输出的办法,相比前面两种格式化输出,使用f-string更易读,更简洁,不易出错,而且速度更快!使用的时候通过f关键字引出,然后要输出的变量直接在输出内容中用{}引出。然后其他使用和前面的format方式类似。

示例程序:

   a = 5
    dt = {'a': 123, 'b': 666}
    print(f"{a} {dt}")
    #以右对齐方式输出占10位空间大小的整数,并且用0补齐输出
    print(f"{a:>010}")
    b = 3.1416
    #以保留3位小数的方式输出小数,注意是四舍五入的方式
    print(f"{b:.3f}")

总结:我还是喜欢用第一种(%d)的方法来输出。


 可以直接返回格式化字符串:

t=100

return '%.2f'%t

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值