您的位置:首页 > 编程语言 > Python开发

python基础学习之——格式化%——printf(“*%06d*\n”,x);是什么意思?

2017-06-04 13:10 429 查看
打印6个字符,不足的用0填充
e.g.
程序
#include<stdio.h>
void main()
{int x=12;
printf("*%06d*\n",x);
}
结果
*000012*
 

格式化

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



在Python中,采用的格式化方式和C语言是一致的,用
%
实现,举例如下:
 
>>> 'Hello, %s' % 'world'
'Hello, world'
>>> 'Hi, %s, you have $%d.' % ('Michael', 1000000)
'Hi, Michael, you have $1000000.'
你可能猜到了,
%
运算符就是用来格式化字符串的。在字符串内部,
%s
表示用字符串替换,
%d
表示用整数替换,有几个
%?
占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个
%?
,括号可以省略。
常见的占位符有:
 
%d整数
%f浮点数
%s字符串
%x十六进制整数
 
其中,格式化整数和浮点数还可以指定是否补0和整数与小数的位数:
 
>>> '
4000
%2d-%02d' % (3, 1)
' 3-01'
>>> '%.2f' % 3.1415926
'3.14'
如果你不太确定应该用什么,
%s
永远起作用,它会把任何数据类型转换为字符串:
 
>>> 'Age: %s. Gender: %s' % (25, True)
'Age: 25. Gender: True'
对于Unicode字符串,用法完全一样,但最好确保替换的字符串也是Unicode字符串:
 
>>> u'Hi, %s' % u'Michael'
u'Hi, Michael'
有些时候,字符串里面的
%
是一个普通字符怎么办?这个时候就需要转义,用
%%
来表示一个
%

 
>>> 'growth rate: %d %%' % 7
'growth rate: 7 %'
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: