所谓前世今生:
今生:Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。基本语法是通过 {} 和 : 来代替以前的 % 。format 函数可以接受不限个参数,位置可以不按顺序,同时对参数的类型也可以不指定(下文会给出实例)。
前世:但是没有format之前,python格式化方法有点类似于C语言里的printf语句,printf("%d", a)。
接下来将会分别对“前世”、“今生”进行介绍。老方法是用“%”来格式化字符串,这个会介绍的少一点,主要介绍并实践一下format()函数。
前世之%:
- python 字符串格式化符号:
%c:格式化字符及其ASCII码
%s:格式化字符串
%d:格式化整数
%f: 格式化浮点数字,可指定小数点后的精度
%e:用科学计数法格式化浮点数
%o:格式化无符号八进制数
%x:格式化无符号十六进制数
%X:格式化无符号十六进制数(大写)
举几个???
- 格式化操作符辅助指令:
还有很多其他的辅助指令,如果感兴趣可以参考“python3-菜鸟教程”
https://www.runoob.com/python/python-strings.html
今生之format():
format()基础
- 顺序可以自由选择,如果不指定便是按照参数的顺序。
- "{} {}…"中的{}一定要能够中format()的参数中找到,否则报错。看下面例子⬇️⬇️⬇️
format()进阶
format有很多格式化字符串的方法,例如:保留小数后x位(可选择是否保留原小数的符号)、不保留小数后的位数、字符填充(在字符串中某一位置前/后用字符’x’补齐,可指定宽度并选择填充左边还是右边)、百分比格式、指数记法、指定宽度左对齐/右对齐…
举?:
平时刷题的时候,经常会遇到日期?输出,如果月、日不够10天时需要补0,这种情况format函数就比较合适。
?:
--------------------------------------百分比格式-----------------------------------------
更正,下图不需要 %,打错了。
---------------------------------------指数记法-------------------------------------------
----------------------------------------对齐----------------------------------------------
--------------------------------------进制转换--------------------------------------------
--------------------------------------转义大括号-----------------------------------------
总的来说format函数功能更多,可以把这个好好练习下。
有新内容再更新。
标题➕插画这么花里胡哨的,会不会多点访问量呢,逃?