Software, Tech & Coding simplified.

# Python String Zfill Method Python zfill() method stretches a string by adding zeros at the beginning of it.

For instance, let’s add zeros to a string until its length reaches 15:

```sentence = "Hello world"

print(sentence.zfill(15))```

Output:

`0000Hello world`

This string is now `15` in length due to the zero-filling.

If the length of the string is greater than what is passed into the `zfill()`, the method does nothing.

For example:

```sentence = "Hello world"

print(sentence.zfill(5))```

Output:

`Hello world`

## How Does It Work

Syntax of the `zfill` method:

`string.zfill(n)`

This method does not add `n` zeros to the beginning. Instead, it makes the string `n` in length by adding some number of zeros to it.

Also, the `zfill()` method does not modify the original string. Instead, it returns a new string with zeros filled at the beginning of it.

## Python zfill() Strings with a Leading +/- Sign

If a string starts with the prefix of + or -, the `zfill()` method adds the zeros after the first occurrence of the prefix.

For example:

```num_str1 = "-50"
num_str2 = "+100"

print(num_str1.zfill(10))
print(num_str2.zfill(10))```

Output:

```-000000050
+000000100```

Or as another example:

```word1 = "-test"
word2 = "+hello"

print(word1.zfill(10))
print(word2.zfill(10))```

Output:

```-00000test
+0000hello```

### Python zfill() Strings with Multiple Leading +/- Signs

If there is more than one leading `+` or `-` sign in the string, the zeros are filled in after the first occurrence.

For example:

```num_str1 = "--50"
num_str2 = "++100"

print(num_str1.zfill(10))
print(num_str2.zfill(10))```

Output:

```-000000-50
+00000+100```

## Python Zfill Right Side of a String

By default, the `zfill()` method pads zeros at the beginning of the string (left side).

To zfill the string from the right in Python, you need to do a little trick:

Invert the string twice. Once before using the `zfill()` and once after.

For example, let’s zfill a string from the right:

```word = "Hello"
print(word[::-1].zfill(10)[::-1])```

Output:

`Hello00000`

## Python Zfill Alternatives

Here are two alternatives to using `zfill()`:

1. The built-in `format()` method
2. string.rjust() method

### 1. Format() Method

The format() method can be used to embed variables into a string.

This means it can be used like the `zfill()` method.

For example:

```sentence = "Hello wolrd"

print("{:0>15}".format(sentence))
print("{:0<15}".format(sentence))```

Output:

`0000Hello world`

### 2. String.rjust() Method

`String.rjust()` is a built-in string method. It stands for right-justified string. In other words, it adds a specific value to the left of the string until a specific string width is reached.

This method can be used to do the same as the `zfill()` method.

For example:

```sentence = "Hello world"
print(sentence.rjust(15, '0'))```

Output:

`0000Hello world`

## Conclusion

Python’s built-in zfill() method pads a string by adding a number of zeros at the beginning of the string. It adds zeros until the desired string width is reached.

Thanks for reading. I hope you find it useful.

Happy coding!