DEV Community

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

Posted on • Edited on

center in Python

Buy Me a Coffee

*Memo for string, bytes and bytearray functions:

*Memo for a string, bytes and bytearray:

str.center() and bytes.center() or bytearray.center() can center 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.
    • Padding is added to the left and/or right side of the string and bytes or bytearray if width is longer than the length of the original string and bytes or bytearray respectively. *From which side of the string and bytes or bytearray padding starts to be added is irregular if width is oddly longer than the length of the original string and bytes or bytearray respectively.
    • Don't use width=.
  • The 2nd argument is fillbyte(Optional-Defualt:" "-Type:str for str.center() or bytes/bytearray for bytes.center() and bytearray.center()):
    • It's the character and byte to fill the padding of the string and bytes or bytearray set width respectively.
    • It must be one character and byte respectively.
    • Don't use fillbyte=.

<String>:

v = "John Smith"

print('"' + v.center(20) + '"')
print('"' + v.center(20, " ") + '"')
# "     John Smith     "
#  ↑↑↑↑↑          ↑↑↑↑↑

print('"' + v.center(20, "?") + '"')
# "?????John Smith?????"

print('"' + v.center(17, "?") + '"')
# "????John Smith???"

print('"' + v.center(14, "?") + '"')
# "??John Smith??"

print('"' + v.center(13, "?") + '"')
# "??John Smith?"

print('"' + v.center(12, "?") + '"')
# "?John Smith?"

print('"' + v.center(11, "?") + '"')
# "?John Smith"

print('"' + v.center(10, "?") + '"')
print('"' + v.center(0, "?") + '"')
# "John Smith"
Enter fullscreen mode Exit fullscreen mode
v = "   John Smith   "
   # ↑↑↑          ↑↑↑

print('"' + v.center(0, "?") + '"')
# "   John Smith   "
#  ↑↑↑          ↑↑↑

print('"' + v.center(20, "?") + '"')
# "??   John Smith   ??"
#    ↑↑↑          ↑↑↑
Enter fullscreen mode Exit fullscreen mode

<Bytes & Bytearray>:

bytes:

v = b"John Smith"

print(v.center(20))
print(v.center(20, b" "))
print(v.center(20, bytearray(b" ")))
# b'     John Smith     '
#   ↑↑↑↑↑          ↑↑↑↑↑

print(v.center(20, b"?"))
print(v.center(20, bytearray(b"?")))
# b'?????John Smith?????'

print(v.center(17, b"?"))
print(v.center(17, bytearray(b"?")))
# b'????John Smith???'

print(v.center(14, b"?"))
print(v.center(14, bytearray(b"?")))
# b'??John Smith??'

print(v.center(13, b"?"))
print(v.center(13, bytearray(b"?")))
# b'??John Smith?'

print(v.center(12, b"?"))
print(v.center(12, bytearray(b"?")))
# b'?John Smith?'

print(v.center(11, b"?"))
print(v.center(11, bytearray(b"?")))
# b'?John Smith'

print(v.center(10, b"?"))
print(v.center(10, bytearray(b"?")))
print(v.center(0, b"?"))
print(v.center(0, bytearray(b"?")))
# b'John Smith'
Enter fullscreen mode Exit fullscreen mode
v = b"   John Smith   "
    # ↑↑↑          ↑↑↑

print(v.center(0, b"?"))
print(v.center(0, bytearray(b"?")))
# b'   John Smith   '
#   ↑↑↑          ↑↑↑

print(v.center(20, b"?"))
print(v.center(20, bytearray(b"?")))
# b'??   John Smith   ??'
#     ↑↑↑          ↑↑↑
Enter fullscreen mode Exit fullscreen mode

bytearray:

v = bytearray(b"John Smith")

print(v.center(20))
print(v.center(20, b" "))
print(v.center(20, bytearray(b" ")))
# bytearray(b'     John Smith     ')
#             ↑↑↑↑↑          ↑↑↑↑↑

print(v.center(20, b"?"))
print(v.center(20, bytearray(b"?")))
# bytearray(b'?????John Smith?????')

print(v.center(17, b"?"))
print(v.center(17, bytearray(b"?")))
# bytearray(b'????John Smith???')

print(v.center(14, b"?"))
print(v.center(14, bytearray(b"?")))
# bytearray(b'??John Smith??')

print(v.center(13, b"?"))
print(v.center(13, bytearray(b"?")))
# bytearray(b'??John Smith?')

print(v.center(12, b"?"))
print(v.center(12, bytearray(b"?")))
# bytearray(b'?John Smith?')

print(v.center(11, b"?"))
print(v.center(11, bytearray(b"?")))
# bytearray(b'?John Smith')

print(v.center(10, b"?"))
print(v.center(10, bytearray(b"?")))
print(v.center(0, b"?"))
print(v.center(0, bytearray("?".encode())))
# bytearray(b'John Smith')
Enter fullscreen mode Exit fullscreen mode
v = bytearray(b"   John Smith   ")
              # ↑↑↑          ↑↑↑

print(v.center(0, b"?"))
print(v.center(0, bytearray(b"?")))
# bytearray(b'   John Smith   ')
#             ↑↑↑          ↑↑↑

print(v.center(20, b"?"))
print(v.center(20, bytearray(b"?")))
# bytearray(b'??   John Smith   ??')
#               ↑↑↑          ↑↑↑ 
Enter fullscreen mode Exit fullscreen mode

Top comments (0)