为int类型的月份、日期补前导零的最简单实现方法是什么
最优实现方案
直接利用Python字符串格式化的补零规则,无需多分支判断,一行即可完成逻辑:
def construct_path(year, month, day): return f"xxx/{year}/{month:02d}/{day:02d}"
逻辑说明
格式化语法02d的作用是将整数格式化为至少2位的十进制数值:
- 当数值小于10时,自动在前面补前导0凑够2位
- 当数值大于等于10时,直接输出原本的2位数值
测试调用construct_path(2021, 5, 2)会直接返回你需要的xxx/2021/05/02,完全兼容原有逻辑,且性能和可读性都远优于多分支写法。
如果需要兼容Python3.6以下的旧版本,可以用str.format写法实现同样效果:
def construct_path(year, month, day): return "xxx/{}/{:02d}/{:02d}".format(year, month, day)
内容的提问来源于stack exchange,提问作者wawawa
相关产品推荐
相关产品推荐

