Python | 格式化输出字符串

一直以来,字符串的格式化输出对于编程来说,尤其是新手,还是挺麻烦的。对于这部分的内容,笔者的建议是,只要大致能满足输出要求,越简单越好,别整那复杂的~(图文无关[俏皮])

问题

  • 01

    今天写这个经验的缘由是看到下面这个字符串输出的提问 问: 排版最后怎么是歪的呢!麻烦大神们看看为什么!

  • 02

    下面是具体代码:(文末会解答这个问题)

背景知识

  • 01

    在Python我们有很方便的格式化字符串函数format。应该说自从用了format函数以后,传统的字符格式化笔者已经不会再用了^_^。下图是占位符用法

  • 02

    下面是简单的格式化用法。应该说掌握这两部分内容已经可以处理大部分的字符串格式化问题了。更多的format函数的用法大家可以参考文末链接。

测试

  • 01

    我们先来看一下下面这部分代码。看起来这是一份无懈可击的代码了,所有的打印输出都是用相同的format函数,并且每行字符的长度(还是个数?)都是相同的20

  • 02

    然而,通过运行代码,观察结果,我们发现,现实跟预想有差距。 我们发现,所有含中文的格式化字符串的输出在“长度”上都比英文字符要短。所以我们有理由推测,format函数里面的20表示的是字节数。 因为,一个汉字是两个字节的

  • 03

    所以按照上面的推测,我们重新调整了包含汉字的输出代码: 对11行代码因为有3个汉字,把需要的字节数增加到23 对12行代码因为有2个汉字,把需要的字节数增加到22 测试的结果,可以说,是完美的:)

解决步骤

  • 01

    现在我们回到原来的问题。我们看到,问题中的格式问题其实就是我们在上面的测试中发现的因中文引起的问题。

  • 02

    考虑到代码中使用了两种格式化字符串技术,为了方便起见(简单~),我们先调整一下代码,把代码转换为使用format函数的写法

  • 03

    好,现在我们按照测试的时候的方法,对于包含中文的字符串,增加打印的字节数。表头表尾也不能忍,也一并改了。效果棒棒哒~

  • 04

    我们再一次review代码,发现第三个的占位符里面有多余的代码,于是删除了。发现删除后内容部分最后一行的对齐方式发生了变化,还是汉字字数的问题,再调整!

  • 05

    好,现在我们的问题在这里是解决了,完全的!

One More Thing

  • 01

    其实对于这个问题是有一种很简单纯粹也很暴力的方法了,推荐大家多多使用~ 我们来看新的代码

  • 02

    有两个问题大家要注意。content这个变量是直接把打印内容用三个引号括起来的,这样里面的内容就有了一个新名字“文本字符串”,而它里面的格式是真正所见即所得的,大家手动对齐就好了。打印出来就是这个效果。

  • 03

    对于另一个问题,是关于print函数的。我们知道print函数默认是会换行的,所以如果换另外一种更直观的写法,我们需要在print函数后面加逗号。完。

(0)

相关推荐

  • Notepad++怎么格式化json字符串?

    我们做软件开发都知道,传输数据的时候需要用到json,这是一种轻量级.传输速度快的数据格式,当然Xml也有它的优势,但是我们吸管传数据的时候用json格式,但是呢,有时候我们想预览一下json的数据格 ...

  • python如何查找字符串

    在进行python编程的时候,经常会需要处理字符串,比如查找某个字符串中是否有相应的字母或者子字符串.这个时候该如何的操作那?下面小编给大家分享一下 操作方法 01 首先我们先来看一下如何查找一个字符 ...

  • Java中如何获取当前时间并格式化输出?

    Java默认Java获取当前时间并且进行格式化输出. 操作方法 01 java 开发中使用util下的date类不可避免.新建日期进行输出. 02 可以看到输出的日期有点复杂,不是我们想要的格式.接下 ...

  • java怎样实现倒序输出字符串

    我们使用java可以输出字符串,那么怎样实现倒序输出字符串呢?下面小编给大家分享一下. 操作方法 01 首先我们打开java编辑器,新建一个main函数,如下图所示 02 接下来在main函数中声明一 ...

  • 如何使用python语言中字符串方法替换子字符串

    跟JavaScript一样的是,replace在python语言中也是替换字符串,但是在JavaScript中只替换一次,而在python语言中是替换所有的相同的字符串.下面利用几个实例说明repla ...

  • 如何使用python语言中字符串判断是否为数字字母

    在使用python语言中的字符串方法时,可以使用它们判断字符串中是否有字母或数字或其他的构成.下面利用几个实例说明字符串方法的用法,操作如下: 操作方法 01 第一步,如果想要查找字符串n1中的字符a ...

  • 如何用python拼接字符串,去空格

    python拼接字符串有三种方法,每种方法的效率和使用的场景各不相同.python在处理字符串上有它自己的优势,简洁高效. 操作方法 01 直接用"+"进行拼接,优点是简洁,缺点是 ...

  • 使用awk按模式筛选文本或字符串的方法

    在筛选文本时,有时你可能想根据某个给定的条件或使用一个可被匹配的特定模式,去标记某个文件或数行字符串中的某几行.使用 awk 来完成这个任务是非常容易的,这也正是 awk 中可能对你有所帮助的几个功能 ...

  • c 中的输出和输入怎么换行

    C语言中输出到屏幕的函数有:printf().putchar().puts(): 其中:printf() 用于将信息格式输出到屏幕,putchar() 将字符输出至屏幕,puts() 将字符串输出至屏 ...