在Python中,似乎有两种不同的生成格式化输出的方法:
user = "Alex"
number = 38746
print("%s asked %d questions on stackoverflow.com" % (user, number))
print("{0} asked {1} questions on stackoverflow.com".format(user, number))
有没有一种方式比另一种方式更受欢迎?它们是等价的吗,区别是什么?应该使用什么形式,特别是对于Python3?
发布于 2012-09-12 15:05:19
.format
是在Python2.6中引入的
如果需要向后兼容早期版本的Python,则应使用%
对于Python3和更新版本,您肯定应该使用.format
.format
比%
更强大。将%
移植到.format
很容易,但反过来也不容易
发布于 2012-09-12 15:04:13
The docs说format
方法是新代码的首选方法。不过,目前还没有移除% formatting的计划。
发布于 2013-12-23 15:46:18
你可以同时使用format和expression is deprecated.However,如前所述,.No方法调用的功能更强大一点。还要注意的是,%表达式更简洁,更容易对它们执行code.Try操作,并查看最适合您的表达式
https://stackoverflow.com/questions/12382719
复制相似问题