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

新手上路,请多包涵

在 Python 2 中,我使用了:

 print "a=%d,b=%d" % (f(x,n),g(x,n))

我试过了:

 print("a=%d,b=%d") % (f(x,n),g(x,n))

原文由 Mike L 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 439
2 个回答

在 Python2 中, print 是一个引入语句的关键字:

 print "Hi"

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

 print ("Hi")

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

所以,你的行应该是这样的:

 print("a=%d,b=%d" % (f(x,n),g(x,n)))

此外,对于 Python3 和更新版本的建议是使用 {} 样式格式而不是 % 样式格式:

 print('a={:d}, b={:d}'.format(f(x,n),g(x,n)))

Python 3.6 引入了另一种字符串格式化范式: f-strings

 print(f'a={f(x,n):d}, b={g(x,n):d}')

原文由 Robᵩ 发布,翻译遵循 CC BY-SA 3.0 许可协议

最推荐的方法是使用 format 方法。 在这里 阅读更多相关信息

a, b = 1, 2

print("a={0},b={1}".format(a, b))

原文由 thefourtheye 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题