python如何格式化输出字符串_Python学习笔记——字符串的格式化输出

当需要把字符串和数字混合输出时,需要字符串的格式化输出。字符串的格式化输出有两种途径:格式化运算符%和format( )方法,两种途径可以达到相同的效果。

格式化运算符%

‘使用格式化运算符%的字符串’%(数据1, 数据2…)

'Happy Birthday %d!' %(23)

'Happy Birthday 23!'

%d是格式占位符,表示后面要替代数据的类型。格式占位符有很多种,如下表所示。

占位符

含义

%c

单个字符,替换成只有一个字符的字符串,或将一个表示字符的Unicode编码转换成一个字符替换进来

%s

字符串

%d

整数

%u

无符号整数

%o

八进制数

%x,%X

十六进制数,字母小写和大写

%f

浮点数

%e,%E

科学记数法表示的浮点数,字符小写和大写

%g,%G

综合浮点数和科学记数法表示的浮点数,由系统自动决定

注意:如果字符串中本身带有%字符,则需要用%%表示。

在%和占位符之间,还可以加入其它数字或符号表示更详细的格式控制。%和占位符之间可以添加数字,表示字符所占的空间。当字符实际需要的空间大于该数字时,字符默认右对齐,左边用空格填充;当字符实际需要的空间小于该数字时,会全部输出而不会截断。

对于输出浮点数,%和占位符的数字之间增加.num指定小数点后输出的位数。%8.2f表示一个占据8个字符,取两位小数的浮点数。此处的两个数字必须是整数,也可以用*表示,此时用随后给出的数值中的数字来替换,此功能可以动态确定占位空间和小数位数。

a = 10

b = 2

print('I like %*.*f' %(10,2,11.3456))

I like 11.35

此外,%和数字之间还可以添加以下符号:

符号

含义

-

左对齐

0

用0填充,不用空格

+

给正数添加正号

空格

正数前增加一个空格,保持于负数对齐

format() 方法

format()方法是比格式化运算符更灵活的格式化输出方法。

‘使用format()方法的字符串{数据索引}’.format(数据1,数据2…)

age = 22

name = 'Colin'

'My name is {}, age {}'.format(name,age)

'My name is {1}, age {0}'.format(age,name)

'My name is {1}, age {0} {1}'.format(age,name)

'My name is Colin, age 22'

'My name is Colin, age 22'

'My name is lalala, age 22 lalala'

与格式化运算符类似,format()方法也可以指定填充字符、对齐方法、宽度、精度和进制。其一般格式为:

{:}

'{0:*>10}'.format(10)

'{0:*^10}'.format(10)

'{0:*<10}'.format(10)

'{0:.2f}'.format(1/3)

'{0:x}'.format(10)

'********10'

'****10****'

'10********'

'0.33'

'a'

利用format()方法还可以对千分位进行格式化。

'{:,}'.format(12345678901)

'12,345,678,901'

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值