DEV Community

Super Kai (Kazuya Ito)
Super Kai (Kazuya Ito)

Posted on • Edited on

zfill in Python

Buy Me a Coffee

*Memo:

  • My post explains string, bytes and bytearray functions.

str.zfill() and bytes.zfill() or bytearray.zfill() can add zero or more 0s before the string and bytes or bytearray set width respectively as shown below:

*Memo:

  • The 1st argument is width(Required-Type:int):
    • It's the width of the string and bytes or bytearray respectively.
    • Don't use width=.
  • If the 1st character and byte of the string and bytes or bytearray are + or -, zero or more 0s are added after them respectively.

<String>:

v = '1234'

print(v.zfill(8)) # 00001234
print(v.zfill(7)) # 0001234
print(v.zfill(6)) # 001234
print(v.zfill(5)) # 01234
print(v.zfill(4)) # 1234
Enter fullscreen mode Exit fullscreen mode
print('+1234'.zfill(8))  # +0001234
print('-1234'.zfill(8))  # -0001234
print('+-1234'.zfill(8)) # +00-1234
print('-+1234'.zfill(8)) # -00+1234
print('!1234'.zfill(8))  # 000!1234
Enter fullscreen mode Exit fullscreen mode
v = 'abcd'

print(v.zfill(8)) # 0000abcd
print(v.zfill(7)) # 000abcd
print(v.zfill(6)) # 00abcd
print(v.zfill(5)) # 0abcd
print(v.zfill(4)) # abcd
Enter fullscreen mode Exit fullscreen mode
print('+abcd'.zfill(8))  # +000abcd
print('-abcd'.zfill(8))  # -000abcd
print('+-abcd'.zfill(8)) # +00-abcd
print('-+abcd'.zfill(8)) # -00+abcd
print('!abcd'.zfill(8))  # 000!abcd
Enter fullscreen mode Exit fullscreen mode

<Bytes & Bytearray>:

bytes:

v = b'1234'

print(v.zfill(8)) # b'00001234'
print(v.zfill(7)) # b'0001234'
print(v.zfill(6)) # b'001234'
print(v.zfill(5)) # b'01234'
print(v.zfill(4)) # b'1234'
Enter fullscreen mode Exit fullscreen mode
print(b'+1234'.zfill(8))
# b'+0001234'

print(b'-1234'.zfill(8))
# b'-0001234'

print(b'+-1234'.zfill(8))
# b'+00-1234'

print(b'-+1234'.zfill(8))
# b'-00+1234'

print(b'!1234'.zfill(8))
# b'000!1234'
Enter fullscreen mode Exit fullscreen mode
v = b'abcd'

print(v.zfill(8)) # b'0000abcd'
print(v.zfill(7)) # b'000abcd'
print(v.zfill(6)) # b'00abcd'
print(v.zfill(5)) # b'0abcd'
print(v.zfill(4)) # b'abcd'
Enter fullscreen mode Exit fullscreen mode
print(b'+abcd'.zfill(8))
# b'+000abcd'

print(b'-abcd'.zfill(8))
# b'-000abcd'

print(b'+-abcd'.zfill(8))
# b'+00-abcd'

print(b'-+abcd'.zfill(8))
# b'-00+abcd'

print(b'!abcd'.zfill(8))
# b'000!abcd'
Enter fullscreen mode Exit fullscreen mode

bytearray:

v = bytearray(b'1234')

print(v.zfill(8)) # bytearray(b'00001234')
print(v.zfill(7)) # bytearray(b'0001234')
print(v.zfill(6)) # bytearray(b'001234')
print(v.zfill(5)) # bytearray(b'01234')
print(v.zfill(4)) # bytearray(b'1234')
Enter fullscreen mode Exit fullscreen mode
print(bytearray(b'+1234').zfill(8))
# bytearray(b'+0001234')

print(bytearray(b'-1234').zfill(8))
# bytearray(b'-0001234')

print(bytearray(b'+-1234').zfill(8))
# bytearray(b'+00-1234')

print(bytearray(b'-+1234').zfill(8))
# bytearray(b'-00+1234')

print(bytearray(b'!1234').zfill(8))
# bytearray(b'000!1234')
Enter fullscreen mode Exit fullscreen mode
v = bytearray(b'abcd')

print(v.zfill(8)) # bytearray(b'0000abcd')
print(v.zfill(7)) # bytearray(b'000abcd')
print(v.zfill(6)) # bytearray(b'00abcd')
print(v.zfill(5)) # bytearray(b'0abcd')
print(v.zfill(4)) # bytearray(b'abcd')
Enter fullscreen mode Exit fullscreen mode
print(bytearray(b'+abcd').zfill(8))
# bytearray(b'+000abcd')

print(bytearray(b'-abcd').zfill(8))
# bytearray(b'-000abcd')

print(bytearray(b'+-abcd').zfill(8))
# bytearray(b'+00-abcd')

print(bytearray(b'-+abcd').zfill(8))
# bytearray(b'-00+abcd')

print(bytearray(b'!abcd').zfill(8))
# bytearray(b'000!abcd')
Enter fullscreen mode Exit fullscreen mode

Top comments (0)