is~ 필터링

Leejaegun·2025년 3월 17일

코딩테스트 시리즈

목록 보기
15/49

Python 문자열 메서드: isalnum(), isdigit(), isalpha(), islower(), isupper(), isspace()

Python 문자열에는 다양한 검사 메서드가 있으며, isalnum()isdigit()도 그중 하나입니다.


1. isalnum()

isalnum() 메서드는 문자열이 알파벳(a-z, A-Z) 또는 숫자(0-9)로만 구성되어 있으면 True를 반환하고, 그렇지 않으면 False를 반환합니다.
-> isdigit() + isalpha() 합친거

예제

print("Hello123".isalnum())  # True
print("Hello 123".isalnum())  # False (공백 포함)
print("Hello!".isalnum())  # False (특수문자 포함)
print("12345".isalnum())  # True (숫자만 있어도 True)

공백, 특수문자가 포함되면 False

2. isdigit()

isdigit() 메서드는 문자열이 숫자(0-9)로만 구성되어 있으면 True를 반환합니다.

예제

print("12345".isdigit())  # True
print("123a".isdigit())  # False (문자 포함)
print("12.3".isdigit())  # False (소수점 포함)
print("²³".isdigit())  # True (특수 숫자 문자도 포함됨, 예: `²`, `³`)

소수점(.)이나 - 같은 기호가 포함되면 False
유니코드 숫자(예: ², ³)도 True

3. isalpha()

isalpha() 메서드는 문자열이 알파벳 문자(a-z, A-Z)로만 구성되어 있으면 True를 반환합니다.

예제

print("Hello".isalpha())  # True
print("Hello123".isalpha())  # False (숫자 포함)
print("Hello!".isalpha())  # False (특수문자 포함)
print(" ".isalpha())  # False (공백 포함)

숫자, 공백, 특수문자가 포함되면 False

4. islower()

islower() 메서드는 문자열이 모두 소문자일 때 True를 반환합니다.

예제

print("hello".islower())  # True
print("Hello".islower())  # False (대문자 포함)
print("hello123".islower())  # True (숫자는 영향 없음)
print("hello!".islower())  # True (특수문자도 영향 없음)

숫자와 특수문자는 영향 없음
대문자가 하나라도 포함되면 False

5. isupper()

isupper() 메서드는 문자열이 모두 대문자일 때 True를 반환합니다.

예제

print("HELLO".isupper())  # True
print("Hello".isupper())  # False (소문자 포함)
print("HELLO123".isupper())  # True (숫자는 영향 없음)
print("HELLO!".isupper())  # True (특수문자도 영향 없음)

숫자와 특수문자는 영향 없음
소문자가 하나라도 포함되면 False

6. isspace()

isspace() 메서드는 문자열이 공백(스페이스, 탭, 개행)만 포함되어 있으면 True를 반환합니다.

예제

print("   ".isspace())  # True (공백만 있음)
print("\t\n".isspace())  # True (탭, 개행 포함)
print("Hello World".isspace())  # False (문자 포함)
print("".isspace())  # False (빈 문자열)

공백, 개행(\n), 탭(\t)만 포함된 경우 True
문자가 하나라도 포함되면 False
빈 문자열은 False

7. 활용 예제: 문자열 필터링

아래 예제는 문자열에서 알파벳과 숫자만 남기고, 소문자로 변환하는 코드입니다.

s = "A man, a plan, a canal: Panama"
s = ''.join(c.lower() for c in s if c.isalnum())
print(s)  # "amanaplanacanalpanama"

isalnum()을 사용해 알파벳과 숫자만 남김
lower()를 사용해 소문자로 변환

isalnum(), isdigit(), isalpha() 비교

메서드조건예제 "Hello123"예제 "12345"예제 "Hello!"
isalnum()알파벳 또는 숫자만 포함TrueTrueFalse (특수문자 포함)
isdigit()숫자만 포함False (문자 포함)TrueFalse (특수문자 포함)
isalpha()알파벳만 포함True (알파벳만 있음)False (숫자 포함)False (특수문자 포함)

📌 정리

  • isalnum() → 알파벳 + 숫자만 있으면 True (공백, 특수문자가 있으면 False)
  • isdigit() → 숫자만 있으면 True (문자나 특수문자가 있으면 False)
  • isalpha() → 알파벳만 있으면 True (숫자나 특수문자가 있으면 False)
profile
Lee_AA

0개의 댓글