Python代码阅读(第89篇):数字填充

Python 代码阅读合集介绍:为什么不推荐Python初学者直接看项目源码

本篇阅读的代码实现了在给定数字前面填充0,至指定长度的功能。对于负数,会在符号之后填充0

本篇阅读的代码片段来自于30-seconds-of-python。

pad_number

def pad_number(n, l):
  return str(n).zfill(l)

# EXAMPLES
print(pad_number(1234, 6)) # '001234'
print(pad_number(-1234, 6)) # '-01234'
print(pad_number(+1234, 6)) # '001234'

pad_number函数接收一个数字和一个指定长度,返回将数字填充到指定长度的字符串。该字符串使用'0'在数字字符串前面填充。

函数将数字转换为字符串并使用str.zfill()函数进行填充。

str.zfill(width)返回原字符串的副本,在左边填充ASCII '0'数码使其长度变为width。 正负值前缀 ('+'/'-') 的处理方式是在正负符号之后填充而非在之前。 如果width小于等于len(s)则返回原字符串的副本。

>>> "42".zfill(5)
'00042'
>>> "-42".zfill(5)
'-0042'
>>> "+42".zfill(5)
'+0042'

pad_number函数中'+'不再出现的原因是str(int)转化过程中,会省略'+'

你可能感兴趣的:(Python代码阅读(第89篇):数字填充)