首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Python3中像printf一样打印?

如何在Python3中像printf一样打印?
EN

Stack Overflow用户
提问于 2013-10-19 03:03:03
回答 8查看 438.5K关注 0票数 141

在Python 2中,我使用了:

代码语言:javascript
复制
print "a=%d,b=%d" % (f(x,n),g(x,n))

我试过了:

代码语言:javascript
复制
print("a=%d,b=%d") % (f(x,n),g(x,n))
EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2013-10-19 03:04:19

在Python2中,print是一个关键词,它引入了一条语句:

代码语言:javascript
复制
print "Hi"

在Python3中,print是一个可以调用的函数:

代码语言:javascript
复制
print ("Hi")

在这两个版本中,%都是一个运算符,它需要左侧有一个字符串,右侧有一个值或值的元组或映射对象(如dict)。

因此,您的代码行应该是这样的:

代码语言:javascript
复制
print("a=%d,b=%d" % (f(x,n),g(x,n)))

此外,对于Python3和更高版本,建议使用{}-style格式,而不是%-style格式:

代码语言:javascript
复制
print('a={:d}, b={:d}'.format(f(x,n),g(x,n)))

Python3.6引入了另一个字符串格式化范例:f-strings

代码语言:javascript
复制
print(f'a={f(x,n):d}, b={g(x,n):d}')
票数 227
EN

Stack Overflow用户

发布于 2013-10-19 03:06:12

最推荐的方法是使用format方法。阅读有关它的更多信息here

代码语言:javascript
复制
a, b = 1, 2

print("a={0},b={1}".format(a, b))
票数 61
EN

Stack Overflow用户

发布于 2016-06-16 09:19:19

来自O'Reilly's Python Cookbook的简单printf()函数。

代码语言:javascript
复制
import sys
def printf(format, *args):
    sys.stdout.write(format % args)

输出示例:

代码语言:javascript
复制
i = 7
pi = 3.14159265359
printf("hi there, i=%d, pi=%.2f\n", i, pi)
# hi there, i=7, pi=3.14
票数 34
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19457227

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档