python字符串的格式化

一、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的意思是浮点数。


二、%

当%的左右均为数字时,那么他表示求余数;但当他出现在字符中的时候,他表示的是格式化操作符。

python的格式化符号及含义
符号含义
%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.nm是显示的最小总宽度,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纵向制表符\ 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值