Python字符串格式化操作符(%)只适用于字符串类型,非常类似于C 语言里面的printf()函数的字符串格式化,甚至所用的符号都一样,都用百分号(%),并且支持所有printf()式的格式化操作。
喜欢的话关注收藏评论转发一波!加入我们Python学习交流 330637182群内有大量的实战和新手资料视频千人大群等你加入。
在许多编程语言中都包含有格式化字符串的功能,比如C和Fortran语言中的格式化输入输出。Python中内置有对字符串进行格式化的操作%。
Python字符串格式化有两个版本
Python2.5之前,我们使用的使用老式的格式化。
Python3.0开始(Python2.6同期发布),同时支持2个版本的格式化新的版本。
为什么要学习新式Python3格式化语法
因为,虽然老式的语法,它兼容性很好,并且和大多数语言一样。但是它功能很少,很难完成复杂的任务。
基本格式化(位置格式化)
新版
Python学习交流群:330637182
旧版
Python学习交流群:330637182
提示:(旧版格式化,不支持带索引的顺序。)
填充和对齐
填充以后,一定会有一个默认的对齐。填充:当我们指定了字符串必须要有的长度的时候,如果现有的字符串没有那么长,那么我们就用某种字符(填充字符)来填满这个长度;对齐:因为我们选择在某一边填充,会偏移到某一个方向。
新版
默认对齐是左对齐
Python学习交流群:330637182
右对齐
Python学习交流群:330637182
居中
Python学习交流群:330637182
字符填充
Python学习交流群:330637182
不能直接在长度前面加填充符号,因为复发区分。
Python学习交流群:330637182
旧版
默认对齐是右对齐
Python学习交流群:330637182
左对齐
Python学习交流群:330637182
注意
旧版不支持,居中对齐。
想要修改填充符号,不直接,很麻烦。
截断
新版
如果我们指定的“截断长度”,比我们实际的长度要短,会发生截断。
1、如果我们使用的是长度而不是截断长度,那么如果实际长度超过了指定长度,那么长度无效。
Python学习交流群:330637182
Python学习交流群:330637182
3. 填充和截断给他结合在一起呢?
Python学习交流群:330637182
旧版
1、截断长度。
Python学习交流群:330637182
2、添加填充和对齐。
Python学习交流群:330637182
尝试填充数字
数字
字符串拼接,字符串和数字的不可运算性。
Python学习交流群:330637182
那么`'{}, {}'.format(1, 2)`是怎么做到的呢?是Python自动帮我们做了一次转换运算,做隐式转换是需要代价,它会消耗额外的性能,牺牲速度。
如果确定是一个数字填充的话
注意: 如果已经指明了是个数字,那么你就不能够再给一个字符串,因为Python不会再帮你做隐式的转换了。
如果传给`digit`的是一个小数,那么
Python学习交流群:330637182
如果要指定是个小数,那么正确的是
Python学习交流群:330637182
注意:在这里,`f`默认能够显示的精度是6位小数,这个问题源自于`C语言`,不多做解释,但是我们会提供解决方案。
数字的填充
新的
1、如何填充
2、此时默认的对齐是右对齐
3、想要解决`f`的小数点问题
注意:对小数而言, `长度`有额外的意思。
4、修改填充符号
5、正负号
旧的
对于Python,小编不会从主观角度跟你们说,新版的好,我只能跟你们说新版的功能更加强大。如果你的逻辑简单,并且不需要经常改动,那么请使用老式;如果你的逻辑很复杂例如:爬虫),那么请使用新式语法。
喜欢的话关注收藏评论转发一波!加入我们Python学习交流 330637182群内有大量的实战和新手教学视频资料千人大群等着你来加入。
Python基础教程:字符串格式化