我正在努力将%的使用转换为str.format(),并且已经意识到不需要位置编号的字符串。例如
>>> "We have {0} hectares planted to {1}.".format(49, "okra")
'We have 49 hectares planted to okra.'
>>> "We have {} hectares planted to {}.".format(49, "okra")
'We have 49 hectares planted to okra.'
什么时候应该使用数字?何时应该省略它们?如果只有一种替代哪种方式更清楚?在我的整个脚本中,永远不会出现无序替换,因此我可以使用无数字来保持一致。
我正在为那些通常不具备编程知识但通常需要稍微使用/调整脚本的科学家编写脚本。
答案 0 :(得分:4)
当您不按顺序使用位置参数时,请使用这些数字,或者您需要支持Python 2.6;后者不支持占位符的自动编号。
当您的占位符和位置参数完全匹配时,自动编号会使编写快速格式更容易。
当然,如果您觉得传入的参数太多而无法轻易计算出参数的位置,您应该手动编号,或者更好的是使用关键字参数(将名称映射到参数更容易跟踪) 。 太多是主观的,但我说7 is the absolute maximum,最好不要超过5个。
答案 1 :(得分:2)
"We have {number} hectares planted to {what}.".format(number=5,what="Okra")
因为这非常易读
这个答案主要是我所知道的意见......