当前位置:首页>python>Python学习:格式化字符串

Python学习:格式化字符串

  • 2026-10-11 08:14:53
Python学习:格式化字符串
这里的“格式化”可不是我们常见的清除磁盘内容的“格式化”。而是类似于“格式化合同”的那个“格式化”,预定好模板,然后往里填你想要格式化的内容。
五一几天假Python学习没什么大进展,还停留在数据库章节。学习也遇到了遗忘障碍。基础不牢,地动山摇。原来不止法考会遗忘。于是复习了之前的格式化章节。
一、格式化字符串一共两个语句:
(一)老式的“%”操作符:
'%[-][+][0][m][.n]格式化字符'%exp
(二)新式的“format()方法”:
str.format(args)
前方的的str是个模板语句,句式如下:
{ [index]  [ :  [ [fill]align ]  [sign] [,] [#]  [width]  [.precision]  [type] ] }
(有意敲了空格,不然python语法句式里的中括号挤在一起真的眼花缭乱的。)
二、白话解读 (格式化语句是我看着最像画符的语法,稍不留神就会看着乱七八糟,脑子一团糊。)
python语法格式语句里用到中括号[ ]的地方,都是表示被“[ ]”包起来的整块可写可不写,不写就用默认参数。
(一)'%[-][+][0][m][.n]格式化字符'%exp
上面一整句可以放在想要输出的程序中,单引号' '中是格式化(合同范本&合同模板)的格式,exp是你想格式化(填入&改造)的内容。
程序运行时,会挨个检查单引号' '里的参数:
%  固定标记,告诉程序你在使用格式化语句
-  左对齐标记(可以用word文档来理解),不写就默认exp右对齐。
+  正数前方是否加+号,没有正数前方不显示+。(只能数字上,即“格式化字符”是d或f)
0  补位0,不写默认补空格。(%是早期的方法,补位填充的字符只能“空格”和“0”二选一。且补0只对右对齐生效。)
m  expression格式化后整体的最小宽度,补位数量=最小宽度-expression宽度,一个汉字一个字符。
.n  限制小数保留位数,如果是字符串就截取前n位字符。
格式化字符  确定exp最终是以为么数据类型输出(这地方我目前没搞明白,到底是“格式化字符”这个参数能万能般改变exp的数据类型,还是exp决定了“格式化字符”这个参数用什么。)
(二)format()方法语法本身很简单,写法也常规。像画符样的是前面的str模板的句式:

{ [index]  [ :  [ [fill]align ]  [sign] [,] [#]  [width]  [.precision]  [type] ] }

感觉英语词汇量丰富的话也基本就知道是个啥了,翻译成中文就是:

{ [索引或者arguments里的成员从前往后的编号]  [ :  [ [填充的字符]对齐方式 ]  [正数是否注明正号] [千分位逗号] [是否显示进制前缀]  [字符宽度]  [.保留的小数位数]  [指定类型] ] }

{ }  大括号必须有,是固定骨架,上面的句子简单化就是  {编号 : 格式规则}。

一个{ }里index只能写一个数字,即从{ }.format(arguments)的arguments里挑一个。

:  只要格式规则有内容,“ : ”就必须要有。

最后结个尾吧:

写这个其实主要还是想梳理和回顾自己学过的知识点,让它更好的被掌握,当然能意外遇到同样在进步的同类肯定会非常开心。

决定学python到现在一个多月了,虽然整体劲头不错,但经常会迷茫。一个是有时看那个语法稍不留神,注意力出了个小差就会像在看天书;一个是对进度不满意,不想闭门造车,想快点实践,一时又不知道该怎么办。

相比律师职业,编程这个似乎相对更容易实现把一个时间拿出来反复销售,希望决策没有错误。

最新文章

随机文章