<개인공부>/[Python]

[python] 파이썬 대문자 소문자 변경 함수 (upper, lower, isupper, islower)

BlockDMask 2020. 9. 2. 20:00
반응형

안녕하세요. BlockDMask 입니다.

오늘은 파이썬 문자열 관련 함수들 중에 문자열을 대문자로 바꾸거나, 소문자로 바꿀 수 있는 함수에 대해서 알아보려고 합니다. 그 다음에 추가로 해당 문자가 대문자인지 소문자인지 확인하는 함수 까지 다뤄볼까 합니다. 그럼 파이선 문자열 대소문자 변환 및 구분에 대해서 시작해보겠습니다.

<목차>

1. 문자열 대문자로 변경하는 함수 (string.upper)

2. 문자열 소문자로 변경하는 함수 (string.lower)

3. 문자가 대문자인지 확인하는 함수 (string.isupper)

4. 문자가 소문자인지 확인하는 함수 (string.islower)


1. 파이썬 문자열을 대문자로 변경하는 방법


1-1) string.upper() 함수 설명

문자열 내부에 '모든' 알파벳을 대문자로 변경하고 싶다면 아래 함수를 사용합니다.

string.upper()

string : 바꾸고자 하는 문자열 객체

반환형 : 모든 문자열이 대문자로 바뀐 문자열

string.upper() 함수는 self 객체(문자열)의 모든 문자들을 대문자로 바꾼 문자열을 반환합니다.

예를 들어 s1 = "rich" 라는 문자열이 있다고하면 s1.upper() 라는 함수를 이용하면 "rich" 내부의 문자들을 모두 각각 대문자로 변환해서 새로운 문자열을 반환합니다. 절대 s1이 바뀌는게 아닙니다.

예제를 한번 볼까요?


1-2) string.upper() 예제

# ==========================================================
# string.upper() 예제1
s1 = 'BlockDMask'
s2 = s1.upper()

print('s1 : ' + s1)  # s1 : BlockDMask
print('s2 : ' + s2)  # s2 : BLOCKDMASK

# ==========================================================
# string.upper() 예제2
s3 = 'abCDef'.upper()

print('s3 : ' + s3)  # s3 : ABCDEF

# ==========================================================
# string.upper() 예제3 : 같은 변수를 사용하고 싶은 경우
s4 = 'same value'
s4 = s4.upper()  # s4에 s4.upper() 를 담습니다.

print('s4 : ' + s4)  # s4 : SAME VALUE

# ==========================================================
# string.upper() 예제4 : 숫자나 기호가 섞여있는 경우
s5 = 'abcd 1234,.;///blog'

print('s5 : ' + s5.upper())  # s5 : ABCD 1234,.;///BLOG

이렇게 문자열을 변수에 넣어서 사용해도 가능하고, 문자열 객체 자체에서 upper 함수를 불러도 됩니다.

여기서 다시한번 강조하는 것은 self 객체 자체가 바뀌는게 아니라 반환 형으로 '새로운' 대문자의 문자열이 생기는 것 입니다.

예제 4번을 보면 숫자나 기호들은 다 무시되는것을 볼 수 있습니다. 오직 대소문가 구분 되는 알파벳만 해당이 되는걸 볼 수 있습니다.


2. 파이썬 문자열을 소문자로 변경하는 방법


2-1)string.lower() 함수 설명

문자열 내부에 '모든' 알파벳을 소문자로 변경하고 싶다면 아래 함수를 사용합니다.

string.lower()

string : 바꾸고자 하는 문자열 객체

반환형 : 모든 문자열이 소문자로 바뀐 문자열

string.lower() 함수는 self 객체(문자열)의 모든 알파벳들을 소문자로 바꾼 문자열을 반환합니다.

예를 들어 s1 = "PYTHON" 라는 문자열이 있다고하면 s1.lower() 라는 함수를 이용하면 "PYTHON" 내부의 알파벳들을 모두 각각 소문자로 변환해서 새로운 "python"이라는 문자열을 반환합니다. 절대 s1이 바뀌는거 아닙니다.

lower 함수 예제 한번 볼까요?

2-2) string.lower() 함수 예제

# ==========================================================
# string.lower() 예제1
s1 = 'BlockDMask'
s2 = s1.lower()

print('s1 : ' + s1)  # s1 : BlockDMask
print('s2 : ' + s2)  # s2 : blockdmask

# ==========================================================
# string.lower() 예제2
s3 = '안녕하세요. THIS IS PROGRAMMING BLOG'.lower()

print('s3 : ' + s3)  # s3 : 안녕하세요. this is programming blog

# ==========================================================
# string.lower() 예제3 : 숫자나 기호가 섞여있는 경우
s4 = '1234BLOG4567'

print('s4 : ' + s4.lower())  # s4 : 1234blog4567


3. python 문자가 대문자인지 확인하는 방법


3-1) string.isupper() 함수 설명

isupper 함수는 아래와 같은 형태 입니다.

string.isupper()

함수설명 : string 객체 내부에 있는 모든 문자가 대문자인지 검사하는 함수 입니다. 모두 대문자인 경우에만 True를 반환합니다.

반환형 : Bool (True, False)

오직 '알파벳 대문자' 에서만 True를 반환하고 그렇지 않은 경우는 False를 반환합니다. 예를들어 공백, 한글, 알파벳 소문자, 기호 등등 모든 경우에서는 False 입니다.

아래 isupper 예제를 한번 볼까요?

3-2) string.isupper() 함수 예시

# ==========================================================
# string.isupper() 예제1
s1 = 'BlockDMask'
s2 = s1.upper()

print('{0} 대문자? : {1}'.format(s1, s1.isupper()))  # False
print('{0} 대문자? : {1}'.format(s2, s2.isupper()))  # True

# ==========================================================
# string.isupper() 예제2
s3 = '하이. P y T h O n !'
for i in s3:
    print('\'{0}\'는 대문자? : {1}'.format(i, i.isupper()))

isupper 예제 결과.

결과를 보시면 isupper 함수는 내부에 모든 문자열이 대문자 이면 True를 반환하고 그렇지 않으면 False를 반환하는것으로 보입니다. 또한 공백, 기호, 한글 등 대소문자를 구분 못하는 알파벳이 아닌 것도 isupper에서 False를 반환합니다.


4. python 문자가 소문자인지 확인하는 방법


4-1) string.islower() 함수 설명

string.islower()

함수설명 : string 객체 내부에 있는 모든 문자가 소문자인지 검사하는 함수 입니다. 모두 소문자인 경우에만 True를 반환합니다.

반환형 : Bool 타입 (True, False)

오직 '알파벳 대문자' 에서만 True를 반환하고 그렇지 않은 경우는 False를 반환합니다. 예를들어 공백, 한글, 알파벳 소문자, 기호 등등 모든 경우에서는 False 입니다.

아래 isupper 예제를 한번 볼까요?

4-2) string.islower() 함수 예시

# ==========================================================
# string.islower() 예제1
s1 = 'Python'
s2 = s1.lower() # 소문자로 만들기

print('{0} 소문자? : {1}'.format(s1, s1.islower()))  # False
print('{0} 소문자? : {1}'.format(s2, s2.islower()))  # True

# ==========================================================
# string.islower() 예제2
s3 = 'a B 2 $%'
for i in s3:
    print('\'{0}\'는 소문자? : {1}'.format(i, i.islower()))

islower 함수 예제 결과.

캡쳐를 보면 모든 문자가 소문자가 아닌 s1의 경우에는 False를 반환합니다.

그에 반에 모든 문자가 소문자로 이루어진 s2의 경우에는 True를 반환합니다.

s3에는 공백 숫자 기호가 포함되어있는 예제 입니다. 역시 알파벳 소문자를 제외하고는 모두 False 를 반환하는것을 볼 수 있습니다.

이상으로 파이썬 문자열 대소문자를 다룰 수 있는 lower, upper, islower, isupper 함수에 대해서 알아보았습니다. 오늘도 방문해주셔서 감사합니다.

반응형