这很容易成为基于意见的主题,但是我发现格式在大多数情况下更具可读性,并且更易于维护。可视化最终字符串的外观会更容易,而无需执行“心理串联”。例如,以下哪个更易读?
errorString = "Exception occurred ({}) while executing '{}': {}".format( e.__class__.__name__, task.name, str(e))要么:
errorString = "Exception occurred (" + e.__class__.__name__ + ") while executing '" + task.name + "': " + str(e)至于是否使用
%或者
.format(),我可以回答更客观:使用
.format()。
%是“旧样式”,并且根据Python文档,它们可能很快会被删除:
由于
str.format()是相当新的东西,因此许多Python代码仍然使用%运算符。但是,由于最终会从该语言中删除这种旧的格式设置样式,str.format()因此通常应使用。
文档的更高版本已不再提及,但这仍然
.format()是未来的方式。用它!
串联速度更快,但这不必担心。首先,使您的代码具有可读性和可维护性,然后优化以后需要优化的部分。过早的优化是万恶之源;)



