DEV Community

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

Posted on • Edited on

upper, lower & casefold in Python

Buy Me a Coffee

*Memo for string, bytes and bytearray functions:

*Memo for a string, bytes and bytearray:

str.upper() and bytes.upper() or bytearray.upper() can make the string and bytes or bytearray uppercase respectively for very caseless matching as shown below:

*Memo:

  • Each has no arguments.
  • The German Alphabet (ß) is used after a long vowel or dipthong, like in Straße or beißen.
  • The German Alphabets SS(ss) are used after a short vowel sound, like in Fluss or Kuss.

<String>:

v = 'hElLo WoRlD'

print(v.upper())
# HELLO WORLD
Enter fullscreen mode Exit fullscreen mode
v = 'ß' # Lowercase German Alphabet

print(v.upper())
# SS
Enter fullscreen mode Exit fullscreen mode
v = '' # Uppercase German Alphabet

print(v.upper())
# ẞ # Uppercase German Alphabet
Enter fullscreen mode Exit fullscreen mode

<Bytes & Bytearray>:

v1 = b'hElLo WoRlD'
v2 = bytearray(b'hElLo WoRlD')

print(v1.upper())
# b'HELLO WORLD'

print(v2.upper())
# bytearray(b'HELLO WORLD')
Enter fullscreen mode Exit fullscreen mode
# Lowercase German Alphabet
v1 = 'ß'.encode()
v1 = b'\xc3\x9f'
v2 = bytearray(b'\xc3\x9f')

print(v1.upper())
# b'\xc3\x9f'

print(v2.upper())
# bytearray(b'\xc3\x9f')
Enter fullscreen mode Exit fullscreen mode
# Uppercase German Alphabet
v1 = ''.encode()
v1 = b'\xe1\xba\x9e'
v2 = bytearray(b'\xe1\xba\x9e')

print(v1.upper())
# b'\xe1\xba\x9e'

print(v2.upper())
# bytearray(b'\xe1\xba\x9e')
Enter fullscreen mode Exit fullscreen mode

str.lower() and bytes.lower() or bytearray.lower() can make the string and bytes or bytearray lowercase respectively for normal caseless matching as shown below:

*Memo:

  • Each has no arguments.

<String>:

v = 'hElLo WoRlD'

print(v.lower())
# hello world
Enter fullscreen mode Exit fullscreen mode
v = 'ß' # Lowercase German Alphabet

print(v.lower())
# ß # Lowercase German Alphabet
Enter fullscreen mode Exit fullscreen mode
v = '' # Uppercase German Alphabet

print(v.lower())
# ß # Lowercase German Alphabet
Enter fullscreen mode Exit fullscreen mode

<Bytes & Bytearray>:

v1 = b'hElLo WoRlD'
v2 = bytearray(b'hElLo WoRlD')

print(v1.lower())
# b'hello world'

print(v2.lower())
# bytearray(b'hello world')
Enter fullscreen mode Exit fullscreen mode
# Lowercase German Alphabet
v1 = 'ß'.encode()
v1 = b'\xc3\x9f'
v2 = bytearray(b'\xc3\x9f')

print(v1.lower())
# b'\xc3\x9f'

print(v2.lower())
# bytearray(b'\xc3\x9f')
Enter fullscreen mode Exit fullscreen mode
# Uppercase German Alphabet
v1 = ''.encode()
v1 = b'\xe1\xba\x9e'
v2 = bytearray(b'\xe1\xba\x9e')

print(v1.lower())
# b'\xe1\xba\x9e'

print(v2.lower())
# bytearray(b'\xe1\xba\x9e')
Enter fullscreen mode Exit fullscreen mode

str.casefold() can make the string lowercase for very caseless matching as shown below:

*Memo:

  • It has no arguments.
  • bytes.casefold() and bytearray.lower() don't exist for a bytes and bytearray respectively.

<String>:

v = 'hElLo WoRlD'

print(v.casefold())
# hello world
Enter fullscreen mode Exit fullscreen mode
v = 'ß' # Lowercase German Alphabet

print(v.casefold())
# ss
Enter fullscreen mode Exit fullscreen mode
v = '' # Uppercase German Alphabet

print(v.casefold())
# ss
Enter fullscreen mode Exit fullscreen mode

Top comments (0)