Appia의 IT세상

파이썬[Python] 알파벳/숫자인지 확인하기(isalpha, isdigit, isalnum) 본문

Python/Python 응용

파이썬[Python] 알파벳/숫자인지 확인하기(isalpha, isdigit, isalnum)

Appia 2020. 3. 14. 06:58
반응형

최근에 문자열에서 알파벳의 빈도를 확인하는 방법에 대해서 간단하게 포스팅을 했었던 적이 있습니다. 이번에는 그와 유사하게 문자열이 알파벳인지 확인하는 방법, 또는 숫자인지 확인하는 방법, 그리고 알파벳 또는 숫자인지 확인하는 방법에 대해서 3가지로 나누어 살펴보고자 합니다. 이 부분에 대해서는 별도의 모듈 없이 기본 내장 되어 있는 함수를 통해서 확인이 가능합니다. 

 

알파벳인지 확인하기(isalpha) 

문자열의 구성이 알파벳인지에 대해서 확인하는 방법입니다. 저는 isalpha()내장 함수를 사용할 것입니다. 하지만, 단 주의가 필요합니다. 문자열에 숫자 및 공백이 포함되어 있으면 False를 리턴합니다. 그럼 다음 예제를 한번 살펴보겠습니다. 

example)

# Appia Example for isalpha
 
# It is to explain how to check whether the string consist of alphabet or not.
 
Ex1 = 'A'
 
Ex2 = 'ABC'
 
Ex3 = "앱피아"
 
Ex4 = "Hello Appia"
 
Ex5 = "100Appia"
 
#print the is the result for isalpha()
 
print(Ex1.isalpha())
 
print(Ex2.isalpha())
 
print(Ex3.isalpha())
 
print(Ex4.isalpha())
 
print(Ex5.isalpha())
cs

result) 

True
 
True
 
True
 
False
 
False
cs

 

결과를 보시면 다음과 같이 한글을 지원하는 것을 알 수 있습니다. 저의 경우 오래동안 파이썬 2점대 버전을 사용하다 보니, 자연스럽게 영어로만 사용을 했습니다.(파이썬 2점대 버전은 한글을 미지원) 다음과 같은 부분을 조심해야 합니다. 즉, 공백이 있는 경우나, 숫자와 혼용되어 사용되면, False를 리턴합니다.  

 

숫자인지 확인하기(isdigit)

문자열의 구성이 모두 숫자인지 확인하는 메소드를 사용할 것입니다. 그 메소드는 isdigit()입니다. 위와 동일하게 이 메소드의 리턴값도 boolean형태입니다. 그럼 다음 예제를 한번 살펴보겠습니다. 

example)

# Appia Example for isalpha
 
# It is to explain how to check whether the string consist of digit or not.
 
Ex1 = '010-1234-5678'
 
Ex2 = '123456'
 
Ex3 = "R4R3"
 
print(Ex1.isdigit())
 
print(Ex2.isdigit())
 
print(Ex3.isdigit())
cs

result)

False
 
True
 
False
cs

먼저, Ex1과 같이 -등이 사용되면, 숫자로만 구성된 것이 아니기 때문에 관련해서 False로 사용됩니다. 또한 Ex3과 같이 문자과 혼용되어 사용되어도 False로 리턴됩니다. 

 

알파벳 또는 숫자인지 확인하기(isalnum) 

문자열이 알파벳인지 확인하는 방법, 또는 숫자인지 확인하는 방법은 생각보다 많이 사용되지 않습니다. 다양한 이유가 있겠지만, 문자열 구성에는 생각보다 숫자와 문자가 혼용되는 경우가 매우 많기 때문입니다. 그래서 위의 이 두가지를 혼용해서 문자열이 알파벳 또는 숫자인지 확인하는 방법에 대해서 살펴보겠습니다. 

example) 

# Appia Example for isalpha
 
# It is to explain how to check whether the string consist of digit/alphabet or not.
 
Ex1 = '안녕'
 
Ex2 = 'Hello3'
 
Ex3 = "1.Where"
 
Ex4 = "1 Where"
 
print(Ex1.isalnum())
 
print(Ex2.isalnum())
 
print(Ex3.isalnum())
 
print(Ex4.isalnum())
cs

result)

True
 
True
 
False
 
False
cs

앞서서 본바와 같이 공백과 특수 문자로 인해서 다음과 같은 경우에 False를 나타냅니다. 위의 문자열이 알파벳인지 확인하는 방법, 또는 숫자인지 확인하는 방법 교집합 형태로 보시면 조금 더 이해가 쉬울 것입니다. 

 

오늘 포스팅은 문자열이 알파벳인지 확인하는 방법, 또는 숫자인지 확인하는 방법, 그리고 알파벳 또는 숫자인지 확인하는 방법에 대해 살펴봤습니다. 생각보다 코딩할 때 다음과 같은 조건에 대해서 많이 사용하게 됩니다. 혹시 궁금하시거나 문의사항이 있으면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다. 

반응형
Comments