Python에서 대문자 및 소문자를 조작하기 위한 문자열 메소드 목록

사업

Python의 문자열 유형(str)은 대문자와 소문자를 조작하기 위한 편리한 방법을 표준으로 제공합니다. 대문자와 소문자를 변환하여 대소문자를 구분할 수 있습니다.

다음 정보가 여기에 제공됩니다.

  • 대문자와 소문자 간 변환
    • 기본 사용법
    • 전체 크기 및 절반 크기 문자 처리
    • str.upper()모든 문자를 대문자로 변환
    • str.lower()모든 문자를 소문자로 변환
    • str.capitalize()첫 번째 문자를 대문자로, 나머지를 소문자로 변환합니다.
    • str.title()단어의 첫 글자를 대문자로, 나머지를 소문자로 변환합니다.
    • str.swapcase()대문자를 소문자로, 소문자를 대문자로 변환합니다.
  • 대문자와 소문자 결정
    • str.isupper(): 모든 문자가 대문자인지 확인
    • str.islower(): 모든 문자가 소문자인지 확인합니다.
    • str.istitle(): 타이틀 케이스인지 확인합니다.
  • 대소문자를 구분하지 않고 문자열 비교

대문자와 소문자 간 변환

기본 사용법

먼저 기본적인 사용법을 설명하겠습니다. 예를 들어 모든 문자를 대문자로 표시하기 위해 upper() 메서드를 사용하지만 다른 메서드에도 동일하게 적용됩니다.

편의상 “conversion”이라고 쓰지만 파이썬에서는 string형(str) 객체를 업데이트할 수 없기 때문에 원래 문자열(예시에서는 s_org) 자체는 변경되지 않습니다.

s_org = 'pYThon proGramminG laNguAge'

print(s_org.upper())
# PYTHON PROGRAMMING LANGUAGE

print(s_org)
# pYThon proGramminG laNguAge

변환된 문자열을 나중에 사용하고 싶다면 다음과 같이 새 변수에 저장할 수 있습니다.

s_new = s_org.upper()
print(s_new)
# PYTHON PROGRAMMING LANGUAGE

원래 변수를 덮어쓸 수도 있습니다.

s_org = s_org.upper()
print(s_org)
# PYTHON PROGRAMMING LANGUAGE

전체 크기 및 절반 크기 문자 처리

문자가 알파벳과 같이 대소문자를 구분하는 경우 1바이트 및 2바이트 문자로 변환됩니다.

숫자 및 한자와 같이 대소문자를 구분하지 않는 문자는 변경되지 않습니다. 예제는 upper()에 대한 것이지만 다른 메서드에도 동일하게 적용됩니다.

s_org = 'Pyhon Python 123'

print(s_org.upper())
# PYHON PYTHON 123

str.upper(): 모든 문자를 대문자로 변환

s_org = 'pYThon proGramminG laNguAge'

print(s_org.upper())
# PYTHON PROGRAMMING LANGUAGE

str.lower(): 모든 문자를 소문자로 변환

s_org = 'pYThon proGramminG laNguAge'

print(s_org.lower())
# python programming language

str.capitalize(): 첫 글자를 대문자로, 나머지를 소문자로 변환

s_org = 'pYThon proGramminG laNguAge'

print(s_org.capitalize())
# Python programming language

str.title(): 단어의 첫 글자를 대문자로 나머지를 소문자로 변환

이른바 타이틀 케이스로의 전환.

s_org = 'pYThon proGramminG laNguAge'

print(s_org.title())
# Python Programming Language

str.swapcase(): 대문자를 소문자로, 소문자를 대문자로 변환

대문자와 소문자를 바꿉니다.

s_org = 'pYThon proGramminG laNguAge'

print(s_org.swapcase())
# PytHON PROgRAMMINg LAnGUaGE

대문자와 소문자 결정

다음 예제에서 메서드는 ‘python’과 같은 문자열 리터럴에서 직접 호출되지만 이전 예제와 같이 변수에 저장할 때도 마찬가지입니다.

str.isupper(): 모든 문자가 대문자인지 확인

isupper()는 대소문자를 구분하는 문자가 하나 이상 포함되어 있고 모두 대문자이면 true를 반환하고 그렇지 않으면 false를 반환합니다.

print('PYTHON'.isupper())
# True

print('Python'.isupper())
# False

문자가 대소문자를 구분하는 경우 2바이트 문자도 판단됩니다.

print('PYTHON'.isupper())
# True

대소문자를 구분하는 문자가 하나만 포함되어 있어도 대소문자를 구분하지 않는 문자는 무시되지만 대소문자를 구분하지 않는 문자가 포함되지 않은 경우(모든 문자는 대소문자를 구분하지 않음) 결정이 false입니다.

print('PYTHON 123'.isupper())
# True

print('123'.isupper())
# False

str.islower(): 모든 문자가 소문자인지 확인

islower()는 대소문자를 구분하는 문자가 하나 이상 포함되어 있고 모두 소문자이면 true를 반환하고 그렇지 않으면 false를 반환합니다.

print('python'.islower())
# True

print('Python'.islower())
# False

문자가 대소문자를 구분하는 경우 2바이트 문자도 판단됩니다.

print('python'.islower())
# True

대소문자를 구분하는 문자가 하나만 포함되어 있어도 대소문자를 구분하지 않는 문자는 무시되지만 대소문자를 구분하지 않는 문자가 포함되지 않은 경우(모든 문자는 대소문자를 구분하지 않음) 결정이 false입니다.

print('python 123'.islower())
# True

print('123'.islower())
# False

str.istitle(): 대소문자가 제목 대소문자인지 확인합니다.

istitle()은 문자열이 제목의 경우(단어의 첫 글자는 대문자, 나머지는 소문자) true를 반환하고, 그렇지 않으면 false를 반환합니다.

print('Python Programming Language'.istitle())
# True

print('PYTHON Programming Language'.istitle())
# False

대소문자를 구분하지 않는 문자가 포함된 경우 대소문자를 구분하지 않는 문자 앞에 소문자가 있으면 false가 됩니다.

print('★Python Programming Language'.istitle())
# True

print('Python★ Programming Language'.istitle())
# True

print('Py★thon Programming Language'.istitle())
# False

위의 예와 같이 문자열이 많지는 않지만 서수와 기타 경우에 숫자를 포함하는 것이 현실적입니다.

print('The 1st Team'.istitle())
# False

print('The 1St Team'.istitle())
# True

대소문자를 구분하는 문자가 포함되지 않은 경우(모든 문자는 대소문자를 구분하지 않음) false입니다.

print('123'.istitle())
# False

대소문자를 구분하지 않고 문자열 비교

문자열을 비교할 때 다른 대문자와 소문자는 동일한 것으로 간주되지 않습니다.

s1 = 'python'
s2 = 'PYTHON'

print(s1 == s2)
# False

대소문자를 구분하지 않고 비교하려면 upper() 또는 lower()를 사용하여 둘을 변환하고 비교할 수 있습니다.

print(s1.upper() == s2.upper())
# True

print(s1.lower() == s2.lower())
# True

print(s1.capitalize() == s2.capitalize())
# True

print(s1.title() == s2.title())
# True