본문 바로가기
Study/Python study

[Python(파이썬)] 대소문자 변환 및 구분

by 파크영 2021. 10. 6.
1. 소문자 -> 대문자
2. 대문자 -> 소문자
3. 문자가 대문자인지 확인
4. 문자가 소문자인지 확인

 

 

1. 소문자 -> 대문자 : upper()

 

소문자를 대문자로 변환하는 함수 : 문자열(string).upper()

문자열의 모든 문자들을 대문자로 변환하여 반환한다. 

 

# 문자열.upper()
>>> 'abcDeF'.upper()
'ABCDEF'

 

  • 문자열 변수를 사용한 변환
# 문자열 변수를 사용한 변환
>>> a = 'abcDeF'
>>> a.upper()
'ABCDEF'
# a는 바뀌지 않는다. 
>>> a
'abcDeF'

>>> b = a.upper()
>>> b
'ABCDEF'

문자열의 모든 문자들을 대문자로 변환하여 반환한다. -> 원래 문자열은 변하지 않는다. 

a.upper()을 하면 a의 모든 문자들을 대문자로 바꾼 문자열을 반환하지 a는 변하지 않는다. 

즉, self 객체 자체가 바뀌지 않고 반환 형으로 새로운 문자열이 생기는 것!

만약 a를 바꾸려고 하면 다시 a = a.upper()에 저장해야한다. 

 

 


2. 대문자 -> 소문자 : lower()

 

대문자를 소문자로 변환하는 함수 : 문자열(string).lower()

문자열의 모든 문자들을 문자로 변환하여 반환한다. 

# 문자열.lower()
>>> 'aBCde'.lower()
'abcde'

 

 

  • 문자열 변수를 사용한 변환
>>> 'aBCde'.lower()
'abcde'

# 문자열 변수를 사용한 변환
>>> test = 'aBCde'
>>> test.lower() 	# test의 모든 문자열을 소문자로 변환한 뒤 새로운 문자열로 반환
'abcde'

# test는 바뀌지 않는다.
>>> test
'aBCde'

>>> test = test.lower()	# test를 바꾸고 싶을 땐 다시 test에 저장
>>> test
'abcde'

문자열의 모든 문자들을 소문자로 변환하여 반환한다. -> 원래 문자열은 변하지 않는다. 

a.lower()을 하면 test의 모든 문자들을 소문자로 바꾼 문자열을 반환하지 test는 변하지 않는다. 

즉, self 객체 자체가 바뀌지 않고 반환 형으로 새로운 문자열이 생기는 것!

만약 test를 바꾸려고 하면 다시 test = test.upper()에 저장해야한다. 

 

 

  • 숫자 or 기호가 있는 문자열 변환

소문자만 대문자로 변환하고 나머지는 그대로 출력된다. 

# 숫자 or 기호가 있을 때 

>>> 'abcD12???-.'.upper()
# 출력
'ABCD12???-.'

>>> 'abcD12???-.'.lower()
# 출력
'abcd12???-.'

 

 


3. 문자가 대문자인지 확인 : isupper()

 

문자열 내부에 있는 '모든 문자'가 대문자인지 검사하는 함수 : 문자열(string).isupper()

반환은 True, False로 한다. 모든 문자가 대문자인 경우에만 True 반환

 

# 문자열이 모두 소문자인 경우 -> False 반환
>>> 'abcde'.isupper()
False

# 문자열이 모두 대문자인 경우 -> True 반환
>>> 'ABCDE'.isupper()
True

# 문자열이 대소문자 섞여있는 경우 -> False 반환
>>> 'abCDE'.isupper()
False

# 문자열 변수
>>> test = 'APPLE'
>>> test.isupper()
True

 

  • 숫자 or 기호가 있는 문자열 확인

isupper()은 대문자가 아닌 모든 문자(공백, 숫자, 기호, 소문자 등)는 False를 반환한다. 

하지만 문자열에서 대문자와 숫자나 기호가 섞여있을 땐 True를 반환한다. 

# 숫자와 대문자가 섞여 있는 경우 -> True 반환
>>> '123AB'.isupper()
True

# 숫자 -> False 반환
>>> '1'.isupper()
False

# 기호 -> False 반환
>>> '?'.isupper()
False

# 숫자 & 기호 -> False 반환
>>> '1?'.isupper()
False

# 숫자 & 기호 & 소문자 -> False 반환
>>> '1?a'.isupper()
False

# 숫자 & 기호 & 대문자 -> True 반환
>>> '1?A'.isupper()
True

 

 

 


4. 문자가 소문자인지 확인 : islower()

 

문자열 내부에 있는 '모든 문자'가 소문자인지 검사하는 함수 : 문자열(string).islower()

반환은 True, False로 한다. 모든 문자가 소문자인 경우에만 True 반환

# 문자열이 모두 소문자인 경우 -> True 반환
>>> 'abcde'.islower()
True

# 문자열이 모두 대문자인 경우 -> False 반환
>>> 'ABCDE'.islower()
False

# 문자열이 대소문자 섞여있는 경우 -> False 반환
>>> 'abCDE'.islower()
False

# 문자열 변수
>>> test = 'apple'
>>> test.isupper()
False

 

 

  • 숫자 or 기호가 있는 문자열 확인

islower()은 문자가 아닌 모든 문자(공백, 숫자, 기호, 소문자 등)는 False를 반환한다. 

하지만 문자열에서 문자와 숫자나 기호가 섞여있을 땐 True를 반환한다. 

# 숫자와 소문자가 섞여 있는 경우 -> True 반환
>>> '123ab'.islower()
True

# 숫자 -> False 반환
>>> '1'.islower()
False

# 기호 -> False 반환
>>> '?'.islower()
False

# 숫자 & 기호 -> False 반환
>>> '1?'.islower()
False

# 숫자 & 기호 & 소문자 -> True 반환
>>> '1?a'.islower()
True

# 숫자 & 기호 & 대문자 -> False 반환
>>> '1?A'.islower()
False

 

댓글