首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

python-数据类型(2)

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%'
返回列表