Python String zfill()

The zfill() method returns a copy of the string with '0' characters padded to the left.

The syntax of zfill() in Python is:

str.zfill(width)

zfill() Parameter

The zfill() takes a single character width.

The width specifies the length of the returned string from zfill() with '0' digits filled to the left.


Return Value from zfill()

The zfill() returns a copy of the string with '0' filled to the left. The length of the returned string depends on the width provided.

  • Suppose, the initial length of the string is 10. And, the width is specified 15. In this case, the zfill() returns a copy of the string with five '0' digits filled to the left.
  • Suppose, the initial length of the string is 10. And, the width is specified 8. In this case, the zfill() doesn't fill '0' digits to the left and returns a copy of the original string. The length of the returned string in this case will be 10.

Example 1: How zfill() works in Python?

text = "program is fun"
print(text.zfill(15))
print(text.zfill(20))
print(text.zfill(10))

When you run the program, the output will be:

0program is fun
000000program is fun
program is fun

If a string starts with the sign prefix('+', '-'), the '0' digits are filled after the first sign prefix character.

Example 2: How zfill() works with Sign Prefix?

number = "-290"
print(number.zfill(8))

number = "+290"
print(number.zfill(8))

text = "--random+text"
print(text.zfill(20))

When you run the program, the output will be:

-0000290
+0000290
-0000000-random+text