Chinaunix
标题:
python百分号的意思?
[打印本页]
作者:
zhnghaijin
时间:
2012-01-19 14:38
标题:
python百分号的意思?
def progress(width, percent):
print "%s %d%%\r" % (('%%-%ds' % width) % (width * percent / 100 * "="), percent),
if percent >= 100:
print
sys.stdout.flush()
这段代码中 '%%-%ds' 百分号什么意思?
作者:
zhnghaijin
时间:
2012-01-20 09:40
木有人知道?
作者:
greatghoul
时间:
2012-01-20 10:43
('%%-%ds' % 24) # 结果为: '%-24s'
# 代入到 ('%%-%ds' % width) % (width * percent / 100 * "=")
'%-24s% (24 * 50 / 100 * "=")
# 结果为 ============
复制代码
作者:
lastfile
时间:
2012-01-20 13:26
大概知道怎样用,但不会解释
作者:
zhnghaijin
时间:
2012-01-20 14:52
回复
3#
greatghoul
ok
作者:
yangkyo821
时间:
2012-01-20 16:40
%d 是格式控制字符,类似的有%s, %f,%e 等
%% 输出一个%
作者:
bzhao
时间:
2012-07-29 13:22
本帖最后由 bzhao 于 2012-07-29 13:23 编辑
>>> '%%-%ds' % 10
'%-10s
>>> "%-10s" % (10 * "=")
'=========='
作者:
crifan
时间:
2012-07-29 22:28
本帖最后由 crifan 于 2012-07-29 22:29 编辑
%+一个字母,类似于C语言中最常用的printf,所指的是字符串的格式化。
不同的字母,标示不同的变量的类型。
最常见的有%d表示数字,%s表示字符串,%f表示浮点数等。
当然还有辅助的数字,前缀0等,去更加控制更加复杂的格式,详情去学习printf的字符串格式化参数。
而如果想要打印输出%字符本身,对应的就用%%表示了。
(类似的做法,就像正则表达式中想要输出反斜杠,用\\来表示一样。)
举例:
【C语言】
int intVal = 123;
char stringVal[5] = "hello";
printf("%d,%s", intVal, stringVal);//输出:123,hello
复制代码
【Python语言】
intVal = 123;
stringVal = "hello";
print "%d" % intVal; #输出:123
print "%s" % stringVal; #输出:hello
#遇到多个变量,用括号括起来:
print "%d,%s" % (intVal, stringVal); #输出:123,hello
复制代码
python中更加复杂的打印输出,可以使用logging模块。
其输出用法,和printf非常类似。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2