查看原文
其他

字符串格式化你不得不知的那些事儿

大邓 大邓和他的Python 2019-04-26
文末附有jupyter notebook下载链接

去年年底报名了python计算机二级,本以为自己学了很久,python二级的知识点应该都很熟悉。没想到翻开教材收获还挺大的,字符串格式化format方法这部分真得值得学习一下,让自己的程序打印出来的内容更标准更好看。format不难,我就直接上例子把,这样大家花个几分钟就学会了。

最基本的格式化

<模板字符串>.format(<填入模板的内容>)

print("{}曰:有朋自远方来,不亦说乎。".format('孔子'))

Run, output!

孔子曰:有朋自远方来,不亦说乎。

print("{}曰:有朋自远方来,不亦{}。".format('孔子''说乎'))

Run, output!

孔子曰:有朋自远方来,不亦说乎。

有序号格式化

'{<序号参数>}'.format(<填入模板的内容>)

注意format内的参数是根据模板字符串中的序号,按位置填充。看例子你就懂了

print("{0}曰:有朋自远方来,不亦{1}。".format('孔子''说乎'))
print("{1}曰:有朋自远方来,不亦{0}。".format('孔子''说乎'))

Run, output!

孔子曰:有朋自远方来,不亦说乎。
说乎曰:有朋自远方来,不亦孔子。

格式控制

{<序号参数>: <格式控制表达式>}

下面我们直接看例子。

默认为左对齐,注意输出结果有一个单引号哦

s = "很高兴您关注大邓的公众号"

"{:25}".format(s)

Run, output!

'很高兴您关注大邓的公众号             '

^居中对齐

"{:^25}".format(s)

Run, output!

'      很高兴您关注大邓的公众号       '

> 右对齐

"{:>25}".format(s)

Run, output!

'             很高兴您关注大邓的公众号'

居中对齐并用*填充

"{:*^25}".format(s)

Run, output!

'******很高兴您关注大邓的公众号*******'

右对齐并用+填充

"{:+>25}".format(s)

Run, output!

'+++++++++++++很高兴您关注大邓的公众号'

对浮点数的格式化

"{:.2f}".format(3.14151926)

Run, output!

'3.14'

.n对传入的字符串截断,只保留前n个字符

"{:.5}".format(s)

Run, output!

'很高兴您关'

格式控制表达式也可以用变量来表示,更方便我们操作格式化。例如

def format_manipulate(content, lenth, filling='', align='<'):
    #content: 准备格式化的内容
    #lenth: 输出的字符串长度
    #filling: 空位置填充的字符,默认为''
    #align: 对齐方式,左对齐<,右对齐>,居中对齐^;默认左对齐<
    return "{0:{1}{2}{3}}".format(content, filling, align, lenth)


print(format_manipulate('感谢你关注大邓', lenth=25))
print(format_manipulate('感谢你关注大邓', lenth=25, filling='!'))
print(format_manipulate('感谢你关注大邓', lenth=25, filling='~', align='^'))

Run, output!

'感谢你关注大邓                  '
'感谢你关注大邓!!!!!!!!!!!!!!!!!!'
'~~~~~~~~~感谢你关注大邓~~~~~~~~~'

往期文章


将excel中某一列拆分为多个列

Python系列课(爬虫、文本分析、机器学习)视频教程

手把手教你学会LDA话题模型可视化pyLDAvis库

【工具篇】如何用Google Colab高效的学习Python

爬虫实战:抓取知乎问题“大学生如何赚到一万元”

小demo:对德文数据进行文本分析   

使用Python制作WORD报告 

使用Pandas、Jinja和WeasyPrint制作pdf报告  

如何让python代码显示进度信息?   

PySimpleGUI: 开发自己第一个软件  

100G 文本分析语料资源(免费下载) 

文件腾转挪移操作,那都不是事儿


公号后台回复 20190309 ,即可获得本项目代码和咪蒙数据


内容值不了多少钱,但值得您的一个肯定



    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存