isalnum(), isdigit(), isalpha(), islower(), isupper(), isspace()Python 문자열에는 다양한 검사 메서드가 있으며, isalnum()과 isdigit()도 그중 하나입니다.
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
isdigit() 메서드는 문자열이 숫자(0-9)로만 구성되어 있으면 True를 반환합니다.
예제
print("12345".isdigit()) # True
print("123a".isdigit()) # False (문자 포함)
print("12.3".isdigit()) # False (소수점 포함)
print("²³".isdigit()) # True (특수 숫자 문자도 포함됨, 예: `²`, `³`)
소수점(.)이나 - 같은 기호가 포함되면 False
유니코드 숫자(예: ², ³)도 True
isalpha() 메서드는 문자열이 알파벳 문자(a-z, A-Z)로만 구성되어 있으면 True를 반환합니다.
예제
print("Hello".isalpha()) # True
print("Hello123".isalpha()) # False (숫자 포함)
print("Hello!".isalpha()) # False (특수문자 포함)
print(" ".isalpha()) # False (공백 포함)
숫자, 공백, 특수문자가 포함되면 False
islower() 메서드는 문자열이 모두 소문자일 때 True를 반환합니다.
예제
print("hello".islower()) # True
print("Hello".islower()) # False (대문자 포함)
print("hello123".islower()) # True (숫자는 영향 없음)
print("hello!".islower()) # True (특수문자도 영향 없음)
숫자와 특수문자는 영향 없음
대문자가 하나라도 포함되면 False
isupper() 메서드는 문자열이 모두 대문자일 때 True를 반환합니다.
예제
print("HELLO".isupper()) # True
print("Hello".isupper()) # False (소문자 포함)
print("HELLO123".isupper()) # True (숫자는 영향 없음)
print("HELLO!".isupper()) # True (특수문자도 영향 없음)
숫자와 특수문자는 영향 없음
소문자가 하나라도 포함되면 False
isspace() 메서드는 문자열이 공백(스페이스, 탭, 개행)만 포함되어 있으면 True를 반환합니다.
예제
print(" ".isspace()) # True (공백만 있음)
print("\t\n".isspace()) # True (탭, 개행 포함)
print("Hello World".isspace()) # False (문자 포함)
print("".isspace()) # False (빈 문자열)
공백, 개행(\n), 탭(\t)만 포함된 경우 True
문자가 하나라도 포함되면 False
빈 문자열은 False
아래 예제는 문자열에서 알파벳과 숫자만 남기고, 소문자로 변환하는 코드입니다.
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() | 알파벳 또는 숫자만 포함 | ✅ True | ✅ True | ❌ False (특수문자 포함) |
isdigit() | 숫자만 포함 | ❌ False (문자 포함) | ✅ True | ❌ False (특수문자 포함) |
isalpha() | 알파벳만 포함 | ✅ True (알파벳만 있음) | ❌ False (숫자 포함) | ❌ False (특수문자 포함) |
isalnum() → 알파벳 + 숫자만 있으면 True (공백, 특수문자가 있으면 False)isdigit() → 숫자만 있으면 True (문자나 특수문자가 있으면 False)isalpha() → 알파벳만 있으면 True (숫자나 특수문자가 있으면 False)