Skip to main content
 首页 » 编程设计

python之不同版本 Python 中的文本格式

2024年08月12日31fff_TT

我在使用不同版本的解释器在不同环境中执行 python 脚本时遇到了问题,因为文本格式化的方式因版本而异。

在python < 2.6中,是这样实现的:

n = 3 
print "%s * %s = %s" % (n, n, n*n) 

而在 python >= 2.6 中 best way to do it是:

n = 3 
print "{0} * {0} = {1}".format(n, n*n) 

但是当您希望脚本在任何 python 版本中运行时呢? 编写 python<2.6 代码以确保即时兼容性或使用 python>=2.6 代码更好,这将成为 future 的使用方式?

是否有任何其他选项可以为实际的 python 版本编写代码而不失去与旧版本的兼容性?

谢谢

请您参考如下方法:

str.format() 是在 Python 2.6 中引入的,但它只是在 Python 3.0 中成为字符串格式化的首选方法。

当然,在 Python 2.6 中,这两种方法仍然有效。

这完全取决于代码的使用者是谁。如果您预计大多数用户不会使用 Python 3.0,请坚持使用旧格式。

但是,如果您的项目需要 Python 3.0 中的一些必备功能,那么要求您的用户使用特定版本的解释器并不是没有道理的。请记住,尽管 Python 3.0 破坏了一些 3.0 之前的代码。

总而言之,如果您的目标是 Python 3.0,请使用 str.format()。如果您的目标是 Pyhon <3.0,请使用 % 格式。