- ·上一篇内容:Python translate()函数
- ·下一篇内容:Python len()函数获取对象的长度
Python zfill()函数
str.zfill(width)
str 是待处理的字符串。
参数
该函数有一个参数 width ,其用于指定处理后的字符串宽度(长度)。
返回值
该函数的返回值是处理后的字符串。
zfill()函数示例
示例一
str1 = "优雅的代码公众号"
newstr = str1.zfill(10)
print("width=10:",newstr)
print("width=8:",str1.zfill(8))
print("width=5:",str1.zfill(5))
print("width=0:",str1.zfill(0))
print("width=-3:",str1.zfill(-3))
输出结果如下:
width=10: 00优雅的代码公众号
width=8: 优雅的代码公众号
width=5: 优雅的代码公众号
width=0: 优雅的代码公众号
width=-3: 优雅的代码公众号
上面的例子演示了zfill函数使用的方法,并设置 width 参数值分别大于字符串长度(字符串长度为8)、等于字符串长度、参数 width 为0和负数的情形。通过输出结果可以看出:
当设置的 width 的值大于字符串长度时,返回的字符串在前面补 '0' 以使新字符串达到 width 指定的值;
当设置的 width 的值等于或小于字符串长度时,返回原字符串的内容。
示例二
print("+123.4".zfill(10))
print("-123.4".zfill(10))
print("++123.4".zfill(10))
print("--123.4".zfill(10))
print("+-123.4".zfill(10))
print("-+123.4".zfill(10))
输出结果如下:
+0000123.4
-0000123.4
+000+123.4
-000-123.4
+000-123.4
-000+123.4
从上面的例子可以看出,当字符串前端有正负号时("+","-"),zfill函数会在正负号和字符串之间补 '0' ,而且当有多个连续的正负号时,只在第一个符号及其它内容之间补 '0' 。
有类似功能的其他函数
在Python中除了zfill专门用于在字符串前端补字符'0'之外,rjust()函数也可以达到同样的目的。
下面给出例子对比一下两个函数的处理效果:
str2 = "请关注【优雅的代码】公众号"
print(str2.zfill(20))
print(str2.rjust(20,'0'))
str3 = "-123.4"
print(str3.zfill(8))
print(str3.rjust(8,'0'))
输出结果如下:
0000000请关注【优雅的代码】公众号
0000000请关注【优雅的代码】公众号
-00123.4
00-123.4
从输出结果可以看出,rjust()函数同样也可以实现在字符串左端补'0'的功能,只不过rjust函数在给出宽度的同时还需要指出需要填补的字符。另外,我们还注意到,在含正负号的字符串里,两者的输出效果是不同的,请自行观察。
除了rjust函数之外,我们还可以使用format()函数来实现与zfill同样的目的。
str2 = "请关注【优雅的代码】公众号"
print(str2.zfill(20))
print("{:0>20}".format(str2))
print("-123.4".zfill(8))
print("{:0>8}".format("-123.4"))
print("{:0=+8}".format(-123.4))
print("{:0=+8}".format(+123.4))
输出结果如下:
0000000请关注【优雅的代码】公众号
0000000请关注【优雅的代码】公众号
-00123.4
00-123.4
-00123.4
+00123.4
从例子和输出结果可以看出,使用format()函数的格式化字符串同样能达到zfill函数的处理效果,同样作为数字字符串时,format()函数会默认在符号前直接补指定的字符,除非直接按数值来处理,并指定“+”号格式符时才会实现与zfill()函数同样的处理效果。
不过,zfill函数从功能上更直接一些。
欢迎关注本站的公众号:优雅的代码,如对内容有什么问题请留言。
如需转载,请注明出处:翔宇亭IT乐园(http://www.biye5u.com),并给出本文链接地址:
http://www.biye5u.com/article/python/2021/6521.html
微信搜索“优雅的代码”关注本站的公众号,或直接使用微信扫描下面二维码关注本站公众号,以获取最新内容。
个人成长离不开各位的关注,你的关注就是我继续前行的动力。
- 给好评 如果您觉得此内容好,就请您
100%(2) - 给差评 如果您觉得此内容差,就请您
0%(0)