一、format()
format()方法接收位置参数和关键字参数,二者均传递一个叫做replacement字段,而这个replacement字段在字符串内由大括号({})表示。
位置参数
>>> "{0} is the best {1} in the {2}".format("python","language","world")
'python is the best language in the world'
关键字参数
>>> "{a} is the best {b} in the {c}".format(a="python",b="language",c="world")
'python is the best language in the world'
注意:如果要将位置参数和关键字参数放在一起使用,位置参数必须在关键字参数之前,否则就会报错
>>> "{0} is the best {b} in the {c}".format("python",b="language",c="world")
'python is the best language in the world'
>>> "{a} is the best {0} in the {c}".format(a="python","language",c="world")
SyntaxError: positional argument follows keyword argument
如果要打印大括号({}),只需要用多一层大括号包括起来即可,要打印转义字符(\),只需要使用转义字符本身(\\)
>>> "{{0}}".format("不打印")
'{0}'
位置参数“不打印”没有被输出,这是因为{0}的特殊功能被外层大括号剥夺。
>>> "{0}:{1:.2f}".format("圆周率",3.1415926)
'圆周率:3.14'
在替换域中,冒号表示格式化符号的开始,".2"的意思是四舍五入到保留俩位小数点,而f的意思是浮点数。
二、%
当%的左右均为数字时,那么他表示求余数;但当他出现在字符中的时候,他表示的是格式化操作符。
符号 | 含义 |
---|---|
%c | 格式化字符及其ASCII码 |
%s | 格式化字符串 |
%d | 格式化整数 |
%o | 格式化无符号八进制数 |
%x | 格式化无符号十六进制数 |
%X | 格式化无符号十六进制数(大写) |
%f | 格式化浮点数字,可指定小数点后的精度 |
%e | 用科学计数法格式化浮点数 |
%E | 作用同%e,用科学计数法格式化浮点数 |
%g | 根据值的大小决定使用%f或%e |
%G | 作用同%g,根据值得大小绝世使用%f或%E |
示例代码:
>>> '%c' % 97
'a'
>>> '%c%c%c%c' % (108,111,118,101)
'love'
>>> '%d 转为八进制是:%o' % (123,123)
'123 转为八进制是:173'
>>> '%f 用科学计数法表示为:%e' % (147000000,147000000)
'147000000.000000 用科学计数法表示为:1.470000e+08'
Python还提供了格式化操作符的辅助指令
符号 | 含义 |
---|---|
m.n | m是显示的最小总宽度,n是小数点后的位数 |
- | 结果左对齐 |
+ | 在正数前面显示加号(+) |
# | 在八进制数前面显示‘0o’,在十六进制数前面显示‘0x64’或者‘0X64’ |
0 | 显示的数字前面填充‘0’代替空格 |
示例代码:
>>> '%5.1f' % 25.25295
' 25.3'
>>> '%5.4f' % 257.252
'257.2520'
>>> '%-5.1f' % 7.25
'7.2 '
>>> '%+-5.1f' % 7.25
'+7.2 '
>>> '%-+5.1f' % 7.25
'+7.2 '
>>> '%#o' % 123
'0o173'
>>> '%o' % 123
'173'
>>> '%#x' % 123
'0x7b'
>>> '%x' % 123
'7b'
>>> '%05.1f' % 7.25
'007.2'
三、python的转义字符及含义
符号 | 说明 | 符号 | 说明 |
---|---|---|---|
\' | 单引号 | \r | 回车符 |
\" | 双引号 | \f | 换页符 |
\a | 发出系统响铃声 | \o | 八进制数代表的字符 |
\b | 退格符 | \x | 十六进制数代表的字符 |
\n | 换行符 | \0 | 表示一个空字符 |
\t | 横向字表符(TAB) | \\ | 反斜杠 |
\v | 纵向制表符 | \ |