Board logo

标题: python-数据类型(2) [打印本页]

作者: look_w    时间: 2019-3-15 17:00     标题: python-数据类型(2)

字符串的格式化

格式化

最后一个常见的问题是如何输出格式化的字符串。我们经常会输出类似'亲爱的xxx你好!你xx月的话费是xx,余额是xx'之类的字符串,而xxx的内容都是根据变量变化的,所以,需要一种简便的格式化字符串的方式。

    >>> 'Hi,%s,you have $%d.' % ('David',1000000)
    # 'Hi,David,you have $1000000.'

你可能猜到了,%运算符就是用来格式化字符串的。在字符串内部,%s表示用字符串替换,%d表示用整数替换,有几个%?占位符,后面就跟几个变量或者值,顺序要对应好。
如果只有一个%?,括号可以省略。例如:

    'hello,%s' % 'world'
    # 'hello,world'

常见的占位符:
占位符     替换内容
%d     整数
%f     浮点数
%s     字符串
%x     十六进制整数

其中,格式化整数和浮点数还可以指定是否补0和整数与小数的位数
如果你不太确定应该用什么,%s永远起作用,它会把任何数据类型转换为字符串.
有些时候,字符串里面的%是一个普通字符怎么办?这个时候就需要转义,用%%来表示一个%:

    'growth is %.3f%%'%4.5780
    # 'growth is 4.578%'

format()函数格式化字符串

另一种格式化字符串的方法是使用字符串的format()方法,它会用传入的参数依次替换字符串内的占位符{0}、{1}……,不过这种方式写起来比%要麻烦得多:

    'hello,{0},你的年龄是{1},体重增长了{2:.2f}%'.format('David',23,23.4785)
     
    # 'hello,David,你的年龄是23,体重增长了23.48%'




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0