添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
首页
学习
活动
专区
工具
TVP
发布

python str.format格式化字符制作字符表格

需求分析

字符串格式化是编程常见操作,python中也对此有强大的支持。python3.6中有利用 % str.format() 来操作的,python3.6也新增了f-string的方法。本文简单讲解 str.format() ,通过其绘制一个简单表格。如下图下面是一些原数据,三个列表。

利用 ' '.join()

不知道格式化字符串的话,可能会通过下面代码实现来输出数据:

上面的代码可能会造成下面的现象,没有对齐。有的会想是因为label数据和data的数据长度不一样,调一下相隔的宽度就行。 ' '.join() 这个是固定的,调节 ' ' 的大小,列表所有元素相邻间隔就变动了,要找到一个合适的间隔不太容易。

% 方法

接触过格式化字符串的话,可能先想到的是 %。上面代码改为

然后结果是这样:你看了看,这不是join()函数,这是利用 % 可以自由更改它们之间的间距,然后你修改了代码:

结果很不错,他们已经对齐了:但是,过程确实不容易,且不说%后面的跟着的一长串字符,不能利用拆包,只能一个萝卜一个坑的对应这放进去,容易出现小失误。接下来介绍str.format()就比这优雅。不过我觉得新手应该比较喜欢用%吧,,因为这比str.format()少打一个单词。。。

str.format()

直接上代码了

下面是{}里面的一些格式说明符。

主要讲解下文本所用到的格式说明符, '{}' 就像excel里的单元格,不过这里的{}与{}之间可以设置不同字符如,'{} {}'; align 就像是单元格居中(…^),居左()。 width 是单元格的宽度,在实际中就是根据字符的长度可以设置不同的宽度。本文中就分别设置了4,8。fill 是填充物,将单元格剩余空格填充指定字符,sign是指定数字前的符号(+,-),precision是数字精度长度。type,数据类型。(%也有上述差不多的功能,不过之前未曾提及。感兴趣,请上网搜索)还有个值得提的是str.format()里的参数支持拆包,从上面代码可以看出不用像%那样将每个元素都写出来了。

f-string

f-string是python3.6新增的,此处简要只写相关代码。

加几个官方例子:

了解更多str.format()请点击官网了解更多f-string请点击pep498

  • 发表于:
  • 原文链接 https://kuaibao.qq.com/s/20180602G0Z9DM00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据 《腾讯内容开放平台服务协议》 转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

关注

腾讯云 开发者 公众号
10元无门槛代金券
洞察腾讯核心技术
剖析业界实践案例
腾讯云开发者公众号二维码

扫码关注腾讯云开发者

领取腾讯云代金券