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)