Skip to main content
 首页 » 编程设计

python之在 str.format() 中使用位置编号

2025年05月04日16zhoujg

我正在努力将 % 的使用转换为 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.' 

什么时候应该使用数字,什么时候应该省略?如果只有一种替代方式,哪种方式更清楚?在我的整个脚本中,从来没有乱序替换,所以我可以不使用数字来保持一致。

我正在为通常不具备编程知识但经常需要稍微使用/调整脚本的科学家编写脚本。

请您参考如下方法:

当你乱序使用位置参数,不止一次,或者你需要支持 Python 2.6 时,使用数字;后者不支持占位符的自动编号。

当您的占位符和位置参数完全匹配时,自动编号使编写快速格式变得更容易一些。

当然,如果您觉得传入的参数太多而无法轻松计算出参数的位置,您应该手动编号,或者更好的是,改用关键字参数(将名称映射到参数更容易跟踪) . 太多是主观的,但我会说7 is the absolute maximum , 最好是 5 个或更少。